‘%8004’ 索引优化

hepe00 2014-11-26 07:08:48
select * from BOMMAB where MAB001 like '%8004';
go

注:MAB001 为主键,系统自动建立的聚集索引。
请问如何才可利用索引优化?
...全文
134 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
--小F-- 2014-11-27
  • 打赏
  • 举报
回复
百分号能放 后面吗?
發糞塗牆 2014-11-27
  • 打赏
  • 举报
回复
如果你的搜索是有规律的,比如只搜索该列的后四位,可以考虑用计算列,在数据插入时就把这四位提取出来到新列,每次where就直接用等于来查询
發糞塗牆 2014-11-27
  • 打赏
  • 举报
回复
当到了不得不改的时候,任何开销都是有必要的,即使推倒重来,只是会不会到这个程度而已。设计上的不全面带来的影响本来就很大。
hepe00 2014-11-27
  • 打赏
  • 举报
回复
引用 6 楼 DBA_Huangzj 的回复:
不改的话几乎没有办法做到明显提高,只能花大量人力物力提高那些可能都察觉不出的“成果”,加一列对单表来说改动不大,只是where条件以后要换成那个计算列而已
这是一个物料表,业务关联挺复杂的。
發糞塗牆 2014-11-27
  • 打赏
  • 举报
回复
不改的话几乎没有办法做到明显提高,只能花大量人力物力提高那些可能都察觉不出的“成果”,加一列对单表来说改动不大,只是where条件以后要换成那个计算列而已
hepe00 2014-11-27
  • 打赏
  • 举报
回复
引用 3 楼 DBA_Huangzj 的回复:
如果你的搜索是有规律的,比如只搜索该列的后四位,可以考虑用计算列,在数据插入时就把这四位提取出来到新列,每次where就直接用等于来查询
谢谢,你的想法对我很有用。 问题是现在表的结构已经固定了,关系到的业务逻辑比较多,在不改变表的结构的情况下,不知道如何加快搜索。 谢谢各位的回复:是的,这种查询规律不变。
---涛声依旧--- 2014-11-26
  • 打赏
  • 举报
回复
用 like 索引将不启作用哦
还在加载中灬 2014-11-26
  • 打赏
  • 举报
回复
这样的'%8004'模糊查询不会走索引

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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