sql server 2005的全文检索

80酷酷网    80kuku.com

  server|全文检索

--创建测试的数据库
CREATE DATABASE db
GO

USE db

--创建测试的表
CREATE TABLE tb(id int IDENTITY,col nvarchar(1000),CONSTRAINT PK_tb PRIMARY KEY(id))
INSERT tb SELECT N'最近测试了下sql server 2005的全文检索:测试时数据库服务器:双2.66 GHz cpu,2G内存,数据表里面就10来行数据。
查询分析其里面执行:
select * from table where freetext(content,''测试'')这样简单的查询,首次执行均在45秒左右
之后
select * from table where freetext(content,''工程师'') 瞬间返回结果
过若干时间再执行,又是45秒左右。

为什么会这么长时间呢?硬伤还是配置问题呀?哪位老大给指个方向吧?
sql server 全文检索速度就只能这样了么?'
UNION ALL SELECT N'10来行数据不应该要这么久啊, 通道你的文章很大?'
UNION ALL SELECT N'今天工作机上刚装了SQL2005.和VS2005
P4 3.0,1G内存,感觉启动有点慢,还没来的及试。
自己笔记本1G内存却只有1.6的迅驰,就更不敢试了.'
UNION ALL SELECT N'内容不长,每行不超过50汉字。'
UNION ALL SELECT N'另外还有人测试过全文检索的查询速度么?多长时间呢?'
UNION ALL SELECT N'主  题:  测试了一下sql server 2005 全文检索 
作  者:  wenyu () 
等  级:   
信 誉 值:  100 
所属社区:  MS-SQL Server 新技术前沿 
问题点数:  20 
回复次数:  4 
发表时间:  2006-07-13 16:07:52  '
UNION ALL SELECT N'我的问题
我参与问题
我得分问题
我的短消息 '
UNION ALL SELECT N'.net高级软件工程师(2)
Field Engineers – Telecommunications Products(若干)
测试工程师(2)
Java/PHP Web工程师(编号:0601)(若干)
高级网页设计师(1)
GIS应用开发工程师(3)
VC++DVR程序开发人员(5)
项目开发工程师(职位编号:JN03)(6)
高级JAVA软件工程师(若干)
 
                    更多职位... 
'
UNION ALL SELECT N'1.《操作系统概念》第六版
2.学生成绩管理系统(VC++)
3.Thinking in embedded(
4.类似QQ的全套聊天系统[极
5.商品销售管理系统
6.新供电局mis系统
7.传奇世界木马源代码
8.ARM应用系统开发详解(共
9.计算机局域网组建与互连
10.学籍管理(毕业设计)
11.软件开发计划书
12.二手信息管理系统  '
UNION ALL SELECT N'上海对日软件培训高薪热招!         尚观ULP课程,签4000月薪就业协议 
青牛软件招聘软件工程师         北京千橡互联科技招贤纳         花旗软件上海招聘会7.22  '
UNION ALL SELECT N' 在这里发贴,表示您接受了CSDN社区的 用户行为准则。
 请您对您的言行负责,并遵守中华人民共和国有关法律、法规,尊重网上道德。 '
UNION ALL SELECT N' 网站简介-广告服务-网站地图-帮助-联系方式-诚聘英才-English-问题报告

北京百联美达美数码科技有限公司  版权所有  京 ICP 证 020026 号

Copyright © 2000-2006, CSDN.NET, All Rights Reserved'
GO

--初始化全文索引
EXEC sp_fulltext_database 'enable'
GO

--创建一个名为 test 的全文目录
EXEC sp_fulltext_catalog 'test', 'create'
GO

--创建并填充全文索引
EXEC sp_fulltext_table 'tb','create','test','PK_tb'
EXEC sp_fulltext_column 'tb','col','add',0x0804
EXEC sp_fulltext_table 'tb','start_change_tracking'
EXEC sp_fulltext_table 'tb','Start_background_updateindex'
GO

WAITFOR DELAY '00:00:15'
--延时后可以检索到数据
SELECT * FROM tb WHERE CONTAINS(col,N'测试')
SELECT * FROM tb WHERE CONTAINS(col,N'工程师')
GO

--删除测试
USE master
DROP DATABASE db



分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: