Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Banco de Dados SQL do Azure
Instância Gerenciada de SQL do Azure
A lista a seguir de recomendações pode ajudar você a melhorar o desempenho das consultas em texto completo.
Recursos de hardware como memória, velocidade de disco, velocidade da CPU e arquitetura da máquina podem influenciar o desempenho das consultas em texto completo.
Desfragmentar o índice da tabela base usando ALTER INDEX REORGANIZE.
Reorganizar o catálogo de texto completo usando ALTER FULLTEXT CATALOG REORGANIZE. Muitos fragmentos de índice em texto completo podem levar a uma degradação substancial no desempenho das consultas. Esta instrução mescla todos os fragmentos em um único fragmento maior para cada índice, removendo todas as informações obsoletas de ocorrência. Certifique-se de executar essa instrução antes do teste de desempenho, pois executá-la causa uma mescagem mestre dos índices de texto completo daquele catálogo.
Restrinja suas opções de colunas de chave de texto completo a uma coluna pequena. Embora uma coluna de 900 bytes seja suportada, use uma coluna menor de chave em um índice de texto completo. int e bigint fornecem o melhor desempenho.
Usar uma chave inteira em texto completo evita a junção com a tabela de mapeamento docid , o que melhora o desempenho de consultas e rastreamentos. Melhorias adicionais de desempenho são possíveis se a chave de texto completo também for a chave índice clusterizada.
Combine múltiplos predicados CONTAINS em um único
CONTAINSpredicado. No SQL Server, você pode especificar uma lista de colunas naCONTAINSconsulta.Se você só precisar de informações de classificação ou de chave de texto completo, use CONTAINSTABLE ou FREETEXTTABLE em vez de
CONTAINSouFREETEXT, respectivamente.Para limitar resultados e aumentar o desempenho, use o parâmetro top_n_by_rank das
FREETEXTTABLEfunções eCONTAINSTABLE. top_n_by_rank permite que você recupere apenas as ocorrências mais relevantes. Use este parâmetro apenas se o cenário de negócios não exige a recuperação de todos os acertos possíveis (isto é, não exige a recuperação total).Observação
O recall total é geralmente necessário em contextos jurídicos, mas pode ser menos importante do que o desempenho em contextos de negócios, como no comércio eletrônico.
Verifique o plano de consulta de texto completo para assegurar que o plano de junção apropriado foi escolhido. Use uma dica de junção ou de consulta se necessário. Se um parâmetro for usado na consulta de texto completo, o valor inicial do parâmetro determinará o plano de consulta. Você pode usar a
OPTIMIZE FORdica de consulta para forçar a consulta a ser compilada com o valor desejado. Isso ajuda a conseguir um plano de consulta determinista e melhor desempenho.Na pesquisa de texto completo, os operadores lógicos especificados em
CONTAINSTABLE (AND, OR)podem ser implementados como junções Transact SQL ou nas STVF (funções com valor de tabela de fluxo) de execução de texto completo. Normalmente, consultas com apenas um tipo de operador lógico são implementadas puramente por execução em texto completo, enquanto consultas que misturam operadores lógicos também possuem joins SQL. A implementação de um operador lógico dentro da STVF de execução de texto completo usa algumas propriedades de índice especiais que a tornam bem mais rápida do que as junções SQL. Por essa razão, sempre que possível, enquadre suas consultas usando apenas um único tipo de operador lógico.Para aplicações que contêm predicados relacionais seletivos, consultas que usam predicados relacionais seletivos e predicados de texto completo não seletivos podem ter melhor desempenho quando escritas para usar o otimizador de consultas. Essa abordagem permite que o otimizador de consulta pode decidir se poderá explorar o predicado ou a aplicação de intervalo para gerar um plano de consulta eficaz. Esta abordagem é mais simples e geralmente mais eficiente do que a indexação de dados relacionais como dados de texto completo.
Recursos relacionados
Pesquisa de Texto Completo do SQL Server 2008: Operações internas e aprimoramentos