SQL SERVER中全文检索的创建与应用
全文搜索的核心引擎建立在Microsoft Full-Text Engine for SQL Server (MSFTESQL) 服务提供支持
面对海量的数据,如何才能找到我需要的?对数百万行文本数据执行的LIKE 查询可能需要花费几分钟时间才能返回结果;但对同样的数据,全文查询只需要几秒或更少的时间,具体取决于返回的行数,全文检索提供了一种便捷的方式,轻松地让所需数据手到擒来。
下面介绍全文搜索的创建与应用:
1、全文检索的创建
use test
exec sp_fulltext_database 'enable'
-- FullTextName是保存索引文件的文件夹(数据库上体现是:全文目录名)
-- create表示创建
-- E:\SQL2005FullText表示FullTextName文件夹的根路径
exec sp_fulltext_catalog 'FullTextName', 'create', 'E:\SQL2005FullText'
-- 对News表创建全文搜索
-- PK_News是表的有效索引(一般用主键索引名)
exec sp_fulltext_table 'News', 'create', 'FullTextName','PK_News' --在已有的表上根据已有的索引创建全文索引
-- NewsContent是要创建全文搜索的列名
-- 0x0804代表简体中文的local ID
exec sp_fulltext_column 'News', 'NewsContent', 'add',0x0804
exec sp_fulltext_column 'News', 'NewsTitle', 'add',0x0804
-- 表启动完全填充(一般用于第一次生成全文检索时应用)
exec sp_fulltext_table 'News', 'start_full'
2、一旦设置好全文检索,你需要自己来维护全文索引的更新工作,这是因为全文目录的更新不是自动进行的。
-- 增量填充(表中必须有一个时间戳字段,否则它将转换为完全填充)
-- 可以使用SQL Server的Agent制定一个更新的计划,定时对索引做增量填充
EXEC sp_fulltext_catalog 'FullTextName','start_incremental'
-- 启动更改跟踪填充
exec sp_fulltext_table 'News','start_change_tracking'
exec sp_fulltext_table 'News','Start_background_updateindex'
创建完全文检索后,就可以用四个CONTAINS, FREETEXT,CONTAINSTABLE, FREETEXTTABLE谓词进行查询
3、性能
全文检索的填充和查询都需要花费系统开销,使用全文检索,你需要考虑性能上的问题,某一种方法比另外一种方法好并没有一个绝对的评判标准。你需要根据具体情况自己来对比不同方法的优劣。不过还是有一些建议:
&
相关文档:
--创建链接服务器
exec sp_addlinkedserver 'ITSV ', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 '
exec sp_addlinkedsrvlogin 'ITSV ', 'false ',null, '用户名 ', '密码 '
--查询示例
select * from ITSV.数据库名.dbo.表名
--导入示例
select * into 表 from ITSV.数据库名.dbo.表名
--以后不 ......
此为转贴,但是从连个帖子中收集而来
下面来一起看看论坛里的一个oracle方面的问题:
====================Question
=========================
jmbdat dayt y &n ......
1.条件控制
1.1 if .. then .. end if
if 条件 then
语句段;
end if;
1.2 if .. then .. else .. end if
if 条件 then
语句段;
else
语句段;
end if;
1.3 if嵌套
2.循环控制
2.1 loop .. exit .. end loop
loop
& ......
事务是Oracle9i中进行数据库操作的基本单位,在PL/SQL程序中,可以使用3个事务处理控制命令。
1. commit命令
commit是事务提交命令。Oracle9i数据库中,为保证数据一致性,在内存中为每个客户机建立工作区,客户机对数据库进行操作的事务都在工作区完成,只有执行commit命令后,工作区内的修改内容才写入到数据库上,称 ......
1.创建过程
create or replace procedure 过程名 as
声明语句段;
begin
执行语句段;
exception
异常处理语句段;
end;
2. 带参数的过程
参数类型3种
in参数:读入参数,主程序向过程传递参数值
out参数:输出参数,过程向主程序传递参数值
in out参数:双向参数
定义 ......