这是我第一次写博客,所以有什么问题,还请大家多多见谅:

1>总结:

数据库中 IN 可以包含的选项数如下:

MySql 数据库:无限制;只是限制了sql语句的大小;

Oracle数据库:9i(256) 10g(1000)

2>MySql max_allowed_packet 操作:

我用的是 MySql (5.6.28) 版本的数据库,可以通过如下命令去查询 MySql 数据库所允许的最大 sql 语句的大小(或长度):

show VARIABLES like '%max_allowed_packet%';

max_allowed_packet 就是记录 MySql 所允许的最大sql语句的长度,单位为bite , 上述为4M

修改 max_allowed_packet :

可以编辑my.cnf来修改(windows下my.ini),在[mysqld]段或者mysql的server配置段进行修改,

max_allowed_packet=10M

或者通过命令:

set global max_allowed_packet = 10*1024*1024;

3> Java 中,如果查询的sql 语句中,in 的选项数大于 1000 时,对集合进行分割的方法:

1 public classInOperationUtil {2   private static Logger logger = LoggerFactory.getLogger(InOperationUtil.class);3   private static final int IN_LENGTH_LIMIT = 1000;4

5   //为防止in的内容过大,分隔list

6   public static List> divideList(ListdataList){7     List> resultList = new ArrayList>();8     if(CollectionUtils.isEmpty(dataList)) {9       returnresultList;10 }11

12     Integer dataSize =dataList.size();13

14     if(dataSize >IN_LENGTH_LIMIT) {15       int batchSize = dataSize % IN_LENGTH_LIMIT == 0 ? dataSize / IN_LENGTH_LIMIT:dataSize / IN_LENGTH_LIMIT +1;//分批数

16       logger.info("共有 "+dataSize+" 条,分为 "+batchSize+" 批");17

18       for (int i = 0; i < batchSize; i++) {19         //每1000条添加一次

20         int start = i *IN_LENGTH_LIMIT;21         int end = start + IN_LENGTH_LIMIT > dataSize ? dataSize : start +IN_LENGTH_LIMIT;22

23         List divideList =dataList.subList(start, end);24 resultList.add(divideList);25 }26     }else{27 resultList.add(dataList);28 }29     returnresultList;30 }31 }

mysql中in的参数有限制_数据库 in 可以包含的参数个数相关推荐

  1. mysql中怎么存住文件链接_数据库如何保存链接文件

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  2. mysql中的页与磁盘关系_数据库和磁盘阵列的关系

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  3. mysql使用什么语句为指定_在MySQL中,可以使用_____语句来为指定数据库添加用户。...

    [简答题]ZX14-04-22电子被限制在一维相距 的两个不可穿透壁之间, ,试求 (1)电子最低能态的能量是多少? (2)如果E 1 是电子最低能态的能量,则电子较高一级能态的能量是多少? (3)如 ...

  4. mysql中以下正确的sql是_总结MySQL中SQL语法的使用

    --where子句操作符: where子句操作符 = 等于 <> 不等于(标准语法) != 不等于(非标准语法,可移植性差) < 小于 <= 小于等于 > 大于 > ...

  5. 用于在MYSQL中创建存储过程的关键字是_下面选项中,用于在删除存储过程时,检测存储过程是否存在的关键字是_学小易找答案...

    [判断题]秦陵兵马俑三号坑设计的是 军事指挥部 . [单选题]以下不是超塑性变形特点的是:( ) [判断题]如果从表中的外键引用了主表中的值,则不能删除主表中被引用的数据. [单选题]下面选项中,用于 ...

  6. mysql中的运算符的执行顺序_【MySQL】执行顺序

    我去找你❤️ 我给你买❤️ 我带你去❤️ 我很爱你❤️ 我们回家❤️ 我们结婚❤️ 你听过最孤独的话是什么? 同学,code就剩你没提交了 今天讨论的话题是 MySQL执行顺序 ??? 先养眼,再看题 ...

  7. mysql存储过程出参和入参_数据库mysql存储中的入参出参理解

    在使用语句的时候,不可避免的要考虑参数的问题,而参数又是用来辅助变量的.有些小伙伴看到我们标题中的入参形参不知道是什么意思,其实也不难理解.我们把出参和入参看成输入和输出的意思就可以了.想必这样说大家 ...

  8. mysql中decimal不能为空吗_程序员,知道Mysql中事务ACID的原理吗?

    点击上方"linkoffer", 选择关注公众号高薪职位第一时间送达 引言 照例,我们先来一个场景~ 面试官:"知道事务的四大特性么?" 你:"懂,A ...

  9. mysql中3个月之前日期_在MySQL中从当前日期选择当前日期到3个月之间的日期?

    使用BETWEEN和INTERVAL实现此目的.让我们首先创建一个表-mysql> create table DemoTable -> ( -> AdmissionDate date ...

最新文章

  1. 【linux】lsof的常用命令汇总
  2. html上传文件与后台处理,关于前端html图片和文件上传和后台接收方法
  3. 虚拟机创建静默快照报错:msg.snapshot.error-QUIESCINGERROR
  4. Android之JNI动态注册native方法和JNI数据简单使用
  5. keras实现嘴唇图像autoencoder
  6. ❤️❤️❤️【资料免费领取】简历模板、职场PPT模板、硬核学习资料+PDF资料(Java、Python、大数据、机器学习)❤️❤️❤️
  7. 安卓工控主板运行时会自动重启_工控机日常维护的方法与步骤
  8. Cover团队在Kovan以太坊测试网部署xCOVER智能合约
  9. linux上oracle导入mysql_linux下的oracle数据库和表空间的导入导出
  10. SQL ---- 查询字段为逗号拼接的字符串
  11. 结构体在固件库中的应用
  12. Stata:回归结果中不报告行业虚拟变量的系数
  13. 成都车展:百度车联网的“阅兵”表演
  14. 数据可视化的方法、工具和应用
  15. 【Plant Cell Physiol】R2R3-MYB调节因子FhPAP1在香雪兰花青素生物合成中的作用
  16. 为什么很多IT公司不喜欢进过培训机构的人呢?
  17. 关于计算机500字英语作文,500字英语作文
  18. 最好的Google表格插件
  19. 《口技》在B站爆火,沉浸式还原吸引800w播放量
  20. 怎样删除*.sys文件

热门文章

  1. 十年架构师留下最完整的Java学习路线,学完年薪40W
  2. ue4导入倾斜摄影_一种基于Smart3D倾斜摄影技术输出实际地形等高线的方法与流程...
  3. 韩顺平老师的linux基础课(复习笔记)
  4. 完整版 html代码简洁说明,【完整版-HTML代码简介说明-适合新手】讲述.ppt
  5. Ubuntu 安装 postgresql12
  6. 关于js表格固定列实现
  7. 为何公众号推送会延迟发送_【微课堂】小程序引流神器—微信公众号营销
  8. 从规模走向规模经济,锅圈食汇回归餐饮初心
  9. BCD码、8421码、余三码、格雷码
  10. 钱塘湖春行 白居易 唐代