|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
mysql使用内部操作字符集gbk来进行操作,即执行"SELECT*FROMtestWHEREname=xxxor1=1/*LIMIT1";从而注入成功server|索引
Author:DavidEuler.
Date:2004/09/11
Email:de_euler-david@yahoo.com.cn
有任何成绩,请与我接洽:)
一样平常情形,利用sqlserver中的全文索引,经由大致4个步骤:
1).安装fulltextsearch全文索引服务;
2).为数据表创建fulltextcatalog全文索引目次;
3).举行fulltextcatalog的population操纵(使全文索引与数据表内容同步);
4).利用全文索引举行查询。
为了在数据表内容更新时全文索引数据库的内容也坚持最新,能够经由过程第5步创建fulltextcatalog的Population主动操纵Schedule.
1.sqlserver默许不安装fulltextsearchservice,必要安装时选择装上才可使用。假如安装了fulltextsearchservice,那末SqlServerEnterprisemanager(企业办理器)中,睁开一个数据库,会有一个FullTextCatalogs;选中一个数据库,右键菜单的“新建“中有一个NewFullTextCataLog.而且选中恣意一个表格,点右键,会有一个Full-textIndexTable(全文索引表)的菜单可使用。假如fulltextsearchservice没有安装,那末这个菜单是灰色的。
2.为表创建fulltextcatalog.假定数据库CoreDB中有一个表myBBS,这个表存储的是一个论坛一切帖子的ID,题目(title),作者(author),内容(content)等。我们选中表myBBS,点右键,NewFullTextCatalog,选择content作为全文索引的字段,创建新的FullTextCatalog,取名为content.
3.到这个时分,只是创建了fulltextcatalog,其实不能利用全文索引。必要使全文目次中的内容与数据库索引表的内容相分歧,这一步经由过程FullPopulation或IncrementalPopulation来完成:企业办理器中睁开数据库CoreDB,双击Full-TextCatalog,会看到有一个名为content的全文目次,选中右击,点StartFullPopulation或StartIncrementalPopulation,此时便可利用索引功效。
4.利用索引功效:
select*frommybbswhereContains(content,"windows");
此语句在mybbs表的全文索引content中,查询含有windows字符串的纪录。
5.今后数据库中的索引表有更新时,都必要举行Population同步操纵,全文查询的内容才是新的数据表中的内容。因而我们能够设定sqlserver主动举行Population操纵:右击名为content的fulltextcatalog,Schedules,NewCatalogSchedules,输出名字,选中Enabled选项,能够设置企图义务的实行频次,可设置每次启动SQLserveragent的时分启动,也能够设置实行一次,大概设置反复实行,反复实行内里能够设置实行频次为月,周,日,能够设置天天多少小时实行一次。(如许只需Service内里启动了sqlserveragent,population同步企图城市主动实行)
总结一下,经由过程安装全文索引服务,创建数据表的全文索引目次,同步全文索引数据库以后,便可入手下手利用全文索引查询。可经由过程创建fulltextcatalog的主动populationschedule来主动同步索引数据库。
参考材料:sqlserver自带的匡助文档“sqlserverBooksonline“.
Full-TextCatalogsandIndexes
Full-textIndexes
Full-textSearch
MicrosoftSearchService
Full-TextQueryingSupport
2008年1月16号MySQLAB被Sun公司收购。而2009年,SUN又被Oracle收购。就这样如同一个轮回,MySQL成为了Oracle公司的另一个数据库项目。 |
|