none
Definindo um SCHEMA para um campo XML sem apagar um Indice FT RRS feed

  • Pergunta

  • Ola a todos,

        Possuo um tabela muito grande com um campo XML e um indice FT atrelado. Estou querendo definir um Schema para esse campo XML, mas não gostaria de destruir meu indice FT.

    Alguem sabe dizer se é possivel?

     

    Obrigado!

    terça-feira, 9 de agosto de 2011 17:12

Todas as Respostas

  • Boa Tarde,

    Normalmente não uso o FT em colunas XML. Normalmente opto por índices XML nas colunas XML, pois, eles podem ser mais apropriados para pesquisa do que o FT. Você tentou efetuar um ALTER COLUMN ? Gerou algum erro ?

    [ ]s,

    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.wordpress.com


    Classifique as respostas. O seu feedback é imprescindível
    terça-feira, 9 de agosto de 2011 17:21
  • Ola Gustavo,

     

         No meu caso precisamos de FT em colunas XML. Não são buscas assertivas e  o resultado tem sido muito bom.

         O alter column pede que eu retire a coluna do indice FT antes de atribui-la ao schema.

         Mas ja que tocou no assunto. Meu problema real é que eu quero tipar meus xmls. Minhas consultas assertivas (e nesse caso não estou falando do FT) não estão com boa performance e acredito (é só um bom chute) de que tipando os elementos vou conseguir resultados mais interessantes.

     

     

     

     

    terça-feira, 9 de agosto de 2011 22:16
  • Boa Noite,

    Tipar o XML o estrutura para que seus elementos fiquem mais organizados. Não chega a ser um índice, mas o tipo especifica o que podemos esperar. Não sei como você está estruturando suas pesquisas, mas se estiver pesquisando com base em métodos (Value, Exists, etc), os índices XML podem prover muito mais desempenho do que o FULL TEXT.

    [ ]s,

    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.wordpress.com


    Classifique as respostas. O seu feedback é imprescindível
    quarta-feira, 10 de agosto de 2011 00:54
  • Boa noite Gustavo,

     

               Eu sei que só tipar não é a questão. Tenho um indices XML primario e um secundario indexado por value. Um exist com operador = funciona bem, mas  quando eu faço uma operação tipo between o plano de execução simplesmente ignora o indice secundario e demora muito pra retornar.

               Como os dados não estão tipados, eu estou presumindo que o sql está se perdendo um pouco na hora de montar o plano. Talvez tipando consiga um desempenho melhor. Meu problema é que o schema do XML pode mudar e o indice FT é gigante (coisa de 800 Mb). quero evitar um rebuild do indice toda vez que tiver que mudar o schema.      

     

    Valeu pela atenção!

     

    Felipe Antunes

    http://agoradba.blogspot.com/ 

     

    quinta-feira, 11 de agosto de 2011 02:11