我有个商品表里面有30多万的数据,商品标题是中文,系统模糊查询的时候老是会显示慢,同时我在这个字段创建了一个普通索引;但是查询还是会慢?请教高手要如何进行优化?
select * from goods_name where title_name like "%电器%"
我有个商品表里面有30多万的数据,商品标题是中文,系统模糊查询的时候老是会显示慢,同时我在这个字段创建了一个普通索引;但是查询还是会慢?请教高手要如何进行优化?
select * from goods_name where title_name like "%电器%"
要优化MySQL中的模糊查询,可以考虑以下几个方面:
ALTER TABLE goods_name ADD INDEX (title_name(10));
这将为title_name
字段的前10个字符创建索引。
SELECT *
,只选择你需要的字段。这样可以减少数据传输的量,提高查询速度。OPTIMIZE TABLE
命令可以重新组织表的物理存储,提高查询性能。以上是一些常见的优化方法,你可以根据具体情况选择适合的方法进行优化。
15 回答8.4k 阅读
8 回答6.2k 阅读
5 回答3.2k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答3.6k 阅读✓ 已解决
1 回答4k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
如果经常使用这个查询,建议在表里添加一个字段表示商品种类,这样建立索引查询起来才会快