sql 表加索引后 like 查询很慢

qtvb1987 2016-05-31 03:03:36

示例 表 a

a表有70 左右个字段

该表插入 数据 和 查询用的比较多

我对该表添加索引后(添加索引 是因为该表与其他表 查询时 缺失索引,所以添加) ,用 like ‘%%’ 查询 很慢

select a.字段1,a.字段3,a.字段2 from a where a.字段1 like '%aa%' or a.字段2 like '%aa%' or a.字段3 like '%aa%'

其他表没这个问题。
...全文
631 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
LongRui888 2016-05-31
  • 打赏
  • 举报
回复
引用 9 楼 qtvb1987 的回复:
[quote=引用 5 楼 yupeigu 的回复:] sql语句加上like倒是问题不大,但是你的like里 如果是这么写的 like '%...%' 就会用不上索引,就会很慢了。。。 建议使用全文检索。
我还要与另一个表 b 相连查询的 select a.字段1,a.字段3,a.字段2,b.字段1 from a left join b on a.id=b.id where a.字段1 like '%aa%' or a.字段2 like '%aa%' or a.字段3 like '%aa%' 全文索引 不可以吧[/quote] 那就先单独写个sql,用全文检索查询出数据,然后在和其他表关联呢
misterliwei 2016-05-31
  • 打赏
  • 举报
回复
比没用索引的时候还慢吗?
qtvb1987 2016-05-31
  • 打赏
  • 举报
回复
引用 10 楼 roy_88 的回复:
可以,语句联接其它表不变,只是条件用全文检索方法 CONTAINS /FREETEXT 看一下联机帮助就会了
引用 10 楼 roy_88 的回复:
可以,语句联接其它表不变,只是条件用全文检索方法 CONTAINS /FREETEXT 看一下联机帮助就会了
好的,谢谢
中国风 2016-05-31
  • 打赏
  • 举报
回复
可以,语句联接其它表不变,只是条件用全文检索方法 CONTAINS /FREETEXT 看一下联机帮助就会了
qtvb1987 2016-05-31
  • 打赏
  • 举报
回复
引用 5 楼 yupeigu 的回复:
sql语句加上like倒是问题不大,但是你的like里 如果是这么写的 like '%...%' 就会用不上索引,就会很慢了。。。 建议使用全文检索。
我还要与另一个表 b 相连查询的 select a.字段1,a.字段3,a.字段2,b.字段1 from a left join b on a.id=b.id where a.字段1 like '%aa%' or a.字段2 like '%aa%' or a.字段3 like '%aa%' 全文索引 不可以吧
qtvb1987 2016-05-31
  • 打赏
  • 举报
回复
引用 3 楼 roy_88 的回复:
你这样的条件 只能用全文检索,设置时关闭系统索引字表
全文索引 只是对 一个表 查询可以吧,我还要和另外一个表 相连 查询的
shoppo0505 2016-05-31
  • 打赏
  • 举报
回复
那我就不知道有什么方法可以改善了
qtvb1987 2016-05-31
  • 打赏
  • 举报
回复
引用 4 楼 shoppo0505 的回复:
[quote=引用 2 楼 qtvb1987 的回复:] [quote=引用 1 楼 shoppo0505 的回复:] 3个like, 2个or 肯定慢,没法解决
现在的问题是我一个 like 也慢[/quote] 你建立的什么索引,要查什么字段[/quote] 非聚集 索引 该表数据多,和其他表 有很多相连查询的
LongRui888 2016-05-31
  • 打赏
  • 举报
回复
sql语句加上like倒是问题不大,但是你的like里 如果是这么写的 like '%...%' 就会用不上索引,就会很慢了。。。 建议使用全文检索。
shoppo0505 2016-05-31
  • 打赏
  • 举报
回复
引用 2 楼 qtvb1987 的回复:
[quote=引用 1 楼 shoppo0505 的回复:] 3个like, 2个or 肯定慢,没法解决
现在的问题是我一个 like 也慢[/quote] 你建立的什么索引,要查什么字段
中国风 2016-05-31
  • 打赏
  • 举报
回复
你这样的条件 只能用全文检索,设置时关闭系统索引字表
qtvb1987 2016-05-31
  • 打赏
  • 举报
回复
引用 1 楼 shoppo0505 的回复:
3个like, 2个or 肯定慢,没法解决
现在的问题是我一个 like 也慢
shoppo0505 2016-05-31
  • 打赏
  • 举报
回复
3个like, 2个or 肯定慢,没法解决

590

社区成员

发帖
与我相关
我的任务
社区描述
提出问题
其他 技术论坛(原bbs)
社区管理员
  • community_281
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧