首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysql中的反向查询优化

问mysql中的反向查询优化
EN

Stack Overflow用户
提问于 2016-06-22 14:31:56
回答 1查看 147关注 0票数 0

我们的表只有一个名为number的列。里面有黑名单号码。例如,如果任何记录都有12345编号,那么以12345开头的所有数字都将被列入黑名单,这里的123456789将被列入黑名单。为此,我们将在sql查询下面使用

代码语言:javascript
复制
select number from table WHERE '12345679' like concat(number,'%')

number
===
12345
1234587
98708293

我认为这个查询不使用任何索引,所以我希望优化这个查询。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-22 14:43:26

将查询更改为:

代码语言:javascript
复制
SELECT number
FROM table
WHERE number IN ('1', '12', '123', '1234', '12345', '123456', '1234567', '12345679')

并在number上创建一个索引。

如果您从编程语言执行查询,它应该能够使用输入字符串上的循环动态创建IN列表。如果完全用MySQL完成,可以在存储过程中完成。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37971124

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档