社区
MySQL
帖子详情
关于 mysql 查询 in 参数的个数限制
sikuan
2012-03-08 12:01:39
想优化一个统计查询,把原来轮询多次的查询用一个in查询来代替
但是怕mysql里对in后面的参数个数限制,会导致查询异常
从网上夜没有找到相关资料
因为以前用过oracle,知道 “in后括号中的参数个数有限制,Oracle 9i 中个数不能超过256,Oracle 10g个数不能超过1000.
”
mysql这里一直确定不了规则,所以请mysql高手帮指点一下
...全文
27077
8
打赏
收藏
关于 mysql 查询 in 参数的个数限制
想优化一个统计查询,把原来轮询多次的查询用一个in查询来代替 但是怕mysql里对in后面的参数个数限制,会导致查询异常 从网上夜没有找到相关资料 因为以前用过oracle,知道 “in后括号中的参数个数有限制,Oracle 9i 中个数不能超过256,Oracle 10g个数不能超过1000. ” mysql这里一直确定不了规则,所以请mysql高手帮指点一下
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ACMAIN_CHM
2012-03-08
打赏
举报
回复
关于这个IN的讨论,你可以参考
http://topic.csdn.net/u/20090626/16/65f043cf-b9d9-4707-b660-9857461177f4.html
ACMAIN_CHM
2012-03-08
打赏
举报
回复
MYSQL没有限制,但对整个SQL语句的长度有限制。
ACMAIN_CHM
2012-03-08
打赏
举报
回复
max_allowed_packet
wolfwu_kg5
2012-03-08
打赏
举报
回复
mysql嵌套的层数有限制的吧
grace8
2012-03-08
打赏
举报
回复
in参数的话 不能嵌套太多层!
rucypli
2012-03-08
打赏
举报
回复
没有限制
wwwwb
2012-03-08
打赏
举报
回复
[Quote=引用楼主 sikuan 的回复:]
想优化一个统计查询,把原来轮询多次的查询用一个in查询来代替
但是怕mysql里对in后面的参数个数限制,会导致查询异常
从网上夜没有找到相关资料
因为以前用过oracle,知道 “in后括号中的参数个数有限制,Oracle 9i 中个数不能超过256,Oracle 10g个数不能超过1000.
”
mysql这里一直确定不了规则,所以请mysql高手帮指点一下
[/Quote]
建议还是保存在表中,与工作表连接,SQL语句长度有限制
Rotel-刘志东
2012-03-08
打赏
举报
回复
mysql应该没有限制的,sql多长也不做限制,但为了书写规范还是不要写的过长。
MySQL
查询
实战之业务为王
【为什么开这门课】在实际工作中,有不少同学虽然掌握了
MySQL
的基本用法,但面对具体的业务需求,写起
MySQL
查询
语句仍然比较吃力,比如一条 SQL 语句可以搞定的需求,因为不知道某个函数而拆分成多条来写,导致工作效率低下。 本课程紧密贴合真实业务场景,归纳总结
MySQL
查询
语句的常见套路和技巧,配合大量工作中可能会用到的案例,希望能够帮助你提升
MySQL
查询
能力,让你在工作中游刃有余。 【课程设计大纲】对于一款产品而言,日活跃用户数、留存率是尤为重要的两个核心业务指标,而用户行为的分析往往也能为产品的优化迭代指明方向。 本课程从日活用户、留存分析、行为分析三个真实业务场景出发,介绍
MySQL
查询
语句在工作中的常见写法,其中讲解的重点是多表之间的连接
查询
以及窗口函数的使用。 同时会穿插讲解一些经典的
MySQL
笔试题,从而帮助大家快速掌握
MySQL
的
查询
技巧和套路,最后还会通过一套某厂的
MySQL
笔试真题进一步巩固所讲的内容。
MySQL
in语句内
参数
个数
限制
Oracle中,in语句中可放的最大
参数
个数
是1000个。之前遇到超过1000的情况,可用如下语句,但如此多
参数
项目会低,可考虑用别的方式优化。 select * from Table where id in(xxx,xxx...) or id in(yyy,yyy,...)
mysql
中,in语句中
参数
个数
是不
限制
的。不过对整段sql语句的长度有了
限制
(max_allowed_p...
mysql
语句中in的
个数
没有
限制
,但是整段sql语句的长度有
限制
(客户端发送)
我们看到一些文章,问题描述:
mysql
语句中in的
个数
到底有没有
限制
,答案是有的,
限制
个数
为1000。 而且看到网友发的截图超过1000确实报错了,我亲测试了下发现,并没有报错。 结论: Oracle中,in语句中可放的最大
参数
个数
是1000个。之前遇到超过1000的情况,可用如下语句,但如此多
参数
项目会低,可考虑用别的方式优化。 select * from Table where id in(xxx,xxx...) or id in(yyy,yyy,...)
mysql
中,in语句中
参数
个数
是**
关于SQL语句中in的
个数
限制
关于SQL语句中in的
个数
限制
Oracle Oralce10g开始
限制
1000。 官方文档: https://docs.oracle.com/en/database/oracle/oracle-database/12.2/sqlrf/IN-Condition.html#GUID-C7961CB3-8F60-47E0-96EB-BDCF5DB1317C
MySQL
IN()列表中值的数量仅受该max_allowed_packet值
限制
。 不同版本的值不相同:* 版本
参数
默认值 官网链接
mysql
in 的
个数
_数据库 in 可以包含的
参数
个数
这是我第一次写博客,所以有什么问题,还请大家多多见谅:1>总结:数据库中 IN 可以包含的选项数如下:
MySql
数据库:无
限制
;只是
限制
了sql语句的大小;Oracle数据库:9i(256) 10g(1000)2>
MySql
max_allowed_packet 操作:我用的是
MySql
(5.6.28) 版本的数据库,可以通过如下命令去
查询
MySql
数据库所允许的最大 sql...
MySQL
56,679
社区成员
56,709
社区内容
发帖
与我相关
我的任务
MySQL
MySQL相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MySQL相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章