杭州网站搭建公司点击进入官方网站
对于 MySQL 中的 text 类型字段,可以通过以下步骤向其添加索引:
- 创建辅助字段:创建一个辅助字段,将该字段的一部分数据转移到辅助字段中。例如,可以创建一个 varchar 类型的字段来存储 text 字段的前缀。
添加索引:对于辅助字段,可以使用普通的索引来加速查询操作。
使用 ALTER TABLE 语句来添加索引,例如:
ALTER TABLE your_table ADD INDEX index_name (auxiliary_field); - 创建全文索引
MySQL版本 全文索引支持
<5.6 ❌ 仅MyISAM支持
>=5.6 ✅ 完全支持
-- 为articles表的title和content字段添加全文索引
alter table articles
add fulltext index ft_idx (title, content)
with PARSER ngram; -- 中文需使用ngram解析器
-- 修改my.cnf配置
[mysqld]
ngram_token_size=2 # 控制分词粒度(1-10)-- 使用示例
-- 自然语言模式(默认)
SELECT * FROM articles
WHERE MATCH(title, content) AGAINST('数据库优化');
-- 布尔搜索模式
SELECT * FROM articles
WHERE MATCH(title, content) AGAINST('+MySQL -Oracle' IN BOOLEAN MODE);