2011-10-31 16 views
5

Sto utilizzando una ricerca full-text in una delle mie stored procedure. Prima di quello (un tipico esempio potrebbe essere di diversi minuti) sto inserendo gli elementi in una tabella che ha indice full-text e circa 3,5 milioni di righe nella tabella. Il fatto è che l'oggetto non esiste (o la query di ricerca non riesce a trovarlo) quando provo a trovarlo nella procedura memorizzata menzionata in alto. Quindi suppongo che l'indice non sia ancora aggiornato a quel punto.Quando viene aggiornato l'indice di testo completo in SQL Server?

La domanda è ... Potrebbe anche essere il caso o il mio problema è da qualche altra parte?

Se sì ... Quando viene aggiornato l'indice di testo completo? Il tempo di elaborare l'indice dipende dalla quantità di dati che ha? Quanto tempo sarebbe necessario per circa 4 milioni di dischi?

sto usando SQL Server 2008.

risposta

2

Finora ho scoperto che gli indici full-text sono "strisciato" e che questo può effettivamente essere il caso che l'indice non è ancora elaborato nella mia situazione. Possiamo per esempio controllare questo nel sys.fulltext_indexes, come in:

SELECT OBJECT_NAME(object_id), is_enabled, has_crawl_completed, crawl_type, crawl_start_date, crawl_end_date 
FROM sys.fulltext_indexes; 

* Vedere l'opzione CHANGE_TRACKING per il comando CREATE FULLTEXT INDEX.

Problemi correlati