MySQL全文搜索索引的字段来对搜索效率进行提高在实际中的应用还是比较多的,如果你对这一技术,心存好奇的话,以下的文章将会揭开它的神秘面纱,希望会给你带来一些帮助在此方面。
一个SELECT查询中的LIKE语句来执行这种查询,尽管这种方法可行,但对于全文查找而言,这是一种效率极端低下的方法,尤其在处理大量数据的时候。
开发者只需要简单地标记出需要全文查找的字段,然后使用特殊的MySQL(和PHP搭配之最佳组合)方法在那些字段运行搜索,这不仅仅提高了性能和效率(因为MySQL(和PHP搭配之最佳组合)对这些字段做了索引来优化搜索),而且实现了更高质量的搜索,因为MySQL(和PHP搭配之最佳组合)使用自然语言来智能地对结果评级,以去掉不相关的项目。
建表:
使用SHOW INDEXES命令来检查索引已经被添加
拥有了数据和索引,就可以使用MySQL(和PHP搭配之最佳组合)的全文搜索了,最简单的全文搜索方式是带有MATCH…AGAINST语句的SELECT查询:
SELECT 表字段 FROM 表名 WHERE MATCH (全文搜索表字段) AGAINST (‘搜索字符串’);
最后显示结果。
498)This.style.width=498;” />

【编辑推荐】
sql-2000中的索引是什么意思?
可以利用索引快速访问数据库表中的特定信息。 索引是对数据库表中一个或多个列(例如,employee 表的姓氏 (lname) 列)的值进行排序的结构。 如果想按特定职员的姓来查找他或她,则与在表中搜索所有的行相比,索引有助于更快地获取信息。 索引提供指针以指向存储在表中指定列的数据值,然后根据指定的排序次序排列这些指针。 数据库使用索引的方式与使用书的目录很相似:通过搜索索引找到特定的值,然后跟随指针到达包含该值的行。 在数据库关系图中,可以为选定的表创建、编辑或删除索引/键属性页中的每个索引类型。 当保存附加在此索引上的表或包含此表的数据库关系图时,索引同时被保存。 有关详细信息,请参见创建索引。 通常情况下,只有当经常查询索引列中的数据时,才需要在表上创建索引。 索引将占用磁盘空间,并且降低添加、删除和更新行的速度。 不过在多数情况下,索引所带来的数据检索速度的优势大大超过它的不足之处。 然而,如果应用程序非常频繁地更新数据,或磁盘空间有限,那么最好限制索引的数量。 1.确定数据表的操作是大量的查询还是大量的增删操作,以此确定使用索引的数目,较多增删操作应严格限制索引数目,如果是较多查询可以适当增加索引数目。 2.尝试建立索引来帮助查询。 检查自己的SQL语句,为在WHERE子句中出现的字段建立索引。 使查询引擎快速的定位到指定条件。 3.尝试建立一些复合索引来进一步提高系统性能(修改复合索引将消耗更多的时间,且占磁盘空间)4.对小型表(记录少)建立索引可能反而影响性能,因为此时对表扫描操作效率更高。 (查询优化器不能智能处理)5.避免对具有较少值的字段建立索引(如性别)6.避免选择具有大型数据类型的列作为索引。
sql中conTains和freetext语句的区别?能否举个例子?
SQL Server 2000提供的全文检索语句主要有CONTAINS和FREETEXT。
CONTAINS语句的功能是在表的所有列或指定列中搜索:一个字或短语;一个字或短语的前缀;与一个字相近的另一个字;一个字的派生字;一个重复出现的字。
CONTAINS语句的语法格式为: CONTAINS({column | *}),
在数据库中设置主键和索引的目的分别是什么
建立索引是为了不通过存取整张表的数据而是搜索已经排序的索引,然后通过索引的定位到表中快速搜索到你要的条目。 主键是唯一索引,可以唯一标识该条目。 唯一索引可以有多个,可以称作候选键,主键只有一个。 对于一个大型数据表,没有索引是难以想象的。
发表评论