@老虎会游泳
标题做了索引,不知道有无影响(发现并没有做索引),搜索的话是 标题 和 内容 进行模糊搜索的 来源于自己博客的数据大概 100多篇文章,然后对表自我进行复制,重复 N次,得到 519,766 条数据,
N次
听说如果文章很多,搜索起来就很慢,但我自己测试发现如果做了分页,每显示页100条数据,查询还是 0.0x秒内 的
0.0x秒内
不知道受限于什么影响,是重复内容吗
LIKE语句不使用索引。 不过LIKE语句的性能也没有我们想象中的那么慢,虎绿林就在用,速度还是可以接受的。 当然如果内容再多很多,那可能就不行了。
LIKE
@老虎会游泳,其实还是可以使用到索引的,有个前提是,select 检索的字段 本身必须是包含索引或者是id,但不能有无索引的字段。 默认*号全字段 未使用索引 type类型为all 全表扫描 group_id 有索引,type类型是index 用上了索引 erp_id 是主键,type类型是index 用上了索引 尽管里面带有主键和有索引的group_id 但其中is_hot未加索引 无法用到索引 type类型为all
不过index级别是最效果仅好于all的最差的一级 效果上有多少提升也是不太好说就是了
@000,你的group_id不是文本类型吧。如果是文本类型,普通索引就没什么用,因为普通索引只能做前缀匹配。要想任意位置匹配,就必须做全文索引。而全文索引必然涉及到分词,因为对每个字节都进行索引是不现实的,索引的大小会成倍增长,远大于原文,最后查找索引速度就不见得比直接查找原文快了。
如果连这些都没有,我不相信mysql可以神奇的用上索引,它显然只能进行全表扫描。
@老虎会游泳,嗯 意义有限
数据载入redis中缓存 这样应该会快一点吧具体我也不懂。 健健康康 一加8Pro 青
@老虎会游泳,@NowTime, 健健康康 一加8Pro 青
@NowTime,这么巧,我也有50w+条数据,用 LIKE 搜索也很快,而且还没有重复数据
顺便一提,InnoDB是有查询缓存的,第二次执行相同的SQL就非常快了:
LIKE
语句不使用索引。不过
LIKE
语句的性能也没有我们想象中的那么慢,虎绿林就在用,速度还是可以接受的。当然如果内容再多很多,那可能就不行了。