惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

The GitHub Blog
The GitHub Blog
M
MIT News - Artificial intelligence
Engineering at Meta
Engineering at Meta
云风的 BLOG
云风的 BLOG
博客园 - 叶小钗
Jina AI
Jina AI
Last Week in AI
Last Week in AI
The Cloudflare Blog
博客园 - 【当耐特】
Stack Overflow Blog
Stack Overflow Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
WordPress大学
WordPress大学
博客园_首页
I
InfoQ
G
Google Developers Blog
Martin Fowler
Martin Fowler
Recent Announcements
Recent Announcements
H
Help Net Security
U
Unit 42
Blog — PlanetScale
Blog — PlanetScale
阮一峰的网络日志
阮一峰的网络日志
P
Proofpoint News Feed
IT之家
IT之家
Microsoft Security Blog
Microsoft Security Blog

博客园 - FallingAutumn

mysql常用命令集锦 Java ClassLoader加载机制理解 实际例子 Java ClassLoader加载机制理解 myeclipse 8.5破解方法 Replace Pioneer 试用推广 JAVA RMI调用实战学习 linux下关于压缩、解压相关的操作 关于hessian接口类方法顺序及对象序列化的实战研究 Java对象引用传递探索 Java异常学习总结 log4j配置详解 vs2005 sp1补丁安装,报1718错误: 数字签名拒绝 无法访问Windows Installer服务 之错误解决 打开word时,”无法注册这篇文档,不能创建从其他文档到这篇文档的链接“ 错误的解决 Oracle中DBMS_JOB.SUBMIT的用法说明 vs2008 sp1如何修复、删除以及增加组件的方法 OCI-22053: 溢出错误 的原因和解决方案 statspack的实战学习 - FallingAutumn - 博客园 ORACLE中,Schema的理解
mysql 语句or效率问题
FallingAutumn · 2013-07-05 · via 博客园 - FallingAutumn

今天看一同事代码中sql语句的拼接,看到where column=? or column=? .... 一直循环遍历下去,即根据传递进来的数组长度构造sql查询(mysql库)

for(int i= 0; i < len; i++)
        {
            sb.append("userjid=?");
            if(i != (len-1)){
                sb.append(" or ");
            }
        }

当时第一感觉是这样的SQL性能会有很大问题, 如果or拼接多到几十条时,肯定不乐观。 于是就自己进行了验证,结果让我大跌眼镜,多达400个的or查询拼接,在万条记录的表中,

耗时仅是毫秒级的... 我很无语,虽然userjid字段有索引,但也完全出乎我的意料,难道mysql库引擎对此做了优化,给改成in了?

且记录之,或待高人答疑。