Hi!
I need a simple information.
I read into msdn that incremental population requires a timestamp
column on the table full-text indexed.
Well, I have.
So if I start
sp_fulltext_catalog 'Desc_FT', 'start_incremental'
command, how can I be sure that I'm performing an incremental
population and not a full population?
I ask this cause msdn doesn't talk about error message or warning if no
timestamp column type is found.
I'd like also to know how to maintain the full-text index in this
situation:
I have a table with 1.500.000 rows (50 columns of different datatypes).
I index only one column. One column is timestamp datatype.
If every day I insert 2000 rows, which is the better way to maintain
the full-text index?
Thank you!
Lubdha - 26 May 2006 17:29 GMT
You could either:
1. Before calling 'start_incremental', you could query the
TableHasTimestamp property of the table you're trying to FT index to
ensure it has a timestamp column.
SELECT OBJECTPROPERTYEX(OBJECT_ID(@TableName), 'TableHasTimestamp')
Should return 1
2. Once you call 'start_incremental', you could query the
PopulateStatus and TableFulltextPopulateStatus properties to ensure an
incremental population is in progress
SELECT FULLTEXTCATALOGPROPERTY(@CatalogName, 'PopulateStatus'),
OBJECTPROPERTYEX(OBJECT_ID(@TableName), 'TableFulltextPopulateStatus')
Should return 2, not 1
It depends on how the table data gets updated. If you're doing bulk
modify operations (say, at fixed time during the day), then having
incremental indexing would be a good idea. On the other hand, if you're
frequently updating the table and would like real-time FT index updates
then having change tracking with background update index would work
better. Since incremental indexing basically scans the entire
timestamps column to check for updates, it's better done infrequently
at fixed intervals of low DB activity.