全文索引

Mysql中有两种重要的索引:myisam 和 innodb

myisam 和 innodb主要区别:

1.myisam 不支持事务,不支持行锁,不支持外键 支持full text 即全文索引 查询,新增速度较快 

2.innodb  无默认计数器 不支持全文索引 update 更新更快 保存数据文件.sql 很占空间

下面介绍的是基于myisam的全文索引(不支持中文,只支持字母和数字,需转成base64保存)

设计需要全文索引字段  选择 full text 索引 如 name_index

//查询数据

SELECT *, MATCH (name_index) AGAINST ('{$search}' IN BOOLEAN MODE) AS score FROM {$table} WHERE MATCH (name_index) AGAINST ('{$search}' IN BOOLEAN MODE) ORDER BY score DESC 

//查询条数

SELECT count(*) as total FROM {$table} WHERE MATCH (name_index) AGAINST ('{$search}' IN BOOLEAN MODE)

注:类似关键字搜索  需要将中文保存成base64 用空格将关键字分开

原文地址:https://www.cnblogs.com/zc123/p/5787430.html