1.现象

  往一张中间表中插入几行数据,但是插入的数据没有按照插入的顺序插入。

  中间表:数据库表多对多关系的时候,需要一张中间表,将它们的关系对应起来。

2.表中结构

  由于是中间表,没有主键,只有两个表的主键。

3.我的尝试

  去掉所有的事务,以排插事务会帮我重排序的可能,写了一个for循环,for循环里面很简单,只是简单的往数据库里插入数据,单步调试,查看数据库中的变化情况。

  结果是:数据按for循环的顺序一个添加了,但是确实乱序的。  但是插入后的排序是有规律的,是按照ASCII码字典序排序的。

4.原因

  这个表加了索引,可能是因为没有主键的原因,插入数据的时候会类似索引的方式,将数据重排序后再插入,按照ASCII码升序排序,和索引一样。  其实这张表加了索引之后就相当于一张索引表了,没有必要去创建一张新的索引表,可能mysql做了这样子的优化。

  致谢:感谢您的阅读!

  

转载于:https://www.cnblogs.com/0201zcr/p/6555532.html

数据库中间表插入乱序相关推荐

  1. JAVA ee6 result结果集_java对数据库的表插入操作时,显示已生成用于更新的结果集...

    package chang;                                                 //    一个插入操作在两行 * 号之间 应该是插入有问题   不知道问 ...

  2. 数据库的基本命令 创建数据库 创建表 插入数据

    1 .查看所有的数据库: mysql> show databases; 2.创建数据库 mysql> show databases; 3.创建二个表 student 和score mysq ...

  3. mysql 建表 练习_数据库创建表,插入数据练习

    create table shangpin("商品名称" varchar2(30), "商品种类" varchar2(30), "商品单价" ...

  4. Apache IoTDB 相关论文《乱序时间序列数据的写入管理》入选国际数据库顶级会议 ICDE 2022

    2022年5月9日,国际数据库顶级会议 ICDE 2022(线上会议)盛大召开.康愈圆同学的< Separation or Not: On Handing Out-of-Order Time-S ...

  5. sql同时向两个表插入数据_SQL入门-数据库和客户端的安装,表的创建和数据插入...

    1.如何验证MySQL数据库安装成功 按照上图操作打开SQL命令行客户端 输入安装MySQL时设置的密码并按enter键,得到下图: 如果有显示出来红框里的内容,就表示安装成功.红框里的内容表示的是M ...

  6. oracle中如何加字母,Oracle数据库之oracle数据库表插入数据的时候如何产生一个字母+数字...

    本文主要向大家介绍了Oracle数据库之oracle数据库表插入数据的时候如何产生一个字母+数字,通过具体的内容向大家展现,希望对大家学习Oracle数据库有所帮助. Oracle 语句中" ...

  7. 01219 oracle,ORA-01219: 数据库或可插入数据库未打开: 仅允许在固定表或视图中查询 oracle...

    一周没用过oracle,打开数据库的时候报错: 执行请求的操作时遇到错误: ORA-01219: 数据库或可插入数据库未打开: 仅允许在固定表或视图中查询 01219. 00000 - "d ...

  8. mysql doc插入数据_如何向MySQL数据库的表中录入数据.doc

    如何向MySQL数据库的表中录入数据 当建好了数据库及表时,首先想到的就是向数据库的表中输入数据,这就涉及到如何向数据库录入数据,下面我们就来探讨一下这个问题. 1.常用的方法是使用insert语句( ...

  9. JDBC练习1 从控制台向数据库的表customers中插入一条数据

    从控制台向数据库的表customers中插入一条数据: 表结构如下: 代码示例: package com.atguigu4.exer;import java.sql.Connection; impor ...

  10. SQL/MYSQL在CMD命令操作符中创建数据库 、表单并插入数据查看

    SQL/MYSQL数据库 .表单.创建 首先确定你已经安装好了MySQL并且已经配置完毕 ①进入MySQL工作区 方法一找到程序进入并且输入MySQL密码: 方法二: window+r 输入cmd 进 ...

最新文章

  1. 关于文件保存/关闭时报错:文件正由另一进程使用,因此该进程无法访问此文件。...
  2. 徐涛八套卷pdf_徐涛八套卷pdf,11月9日资料更新!
  3. 训练日志 2019.1.17
  4. 敏捷开发一千零一问系列之十三:故事点好还是人天好?
  5. 54.原型3 移动端选择器 (未完)
  6. 以太坊源码分析:共识(1)矿工
  7. C#重载操作符==和!=时注意问题
  8. 刚安装mysql怎么设置密码_安装完MySQL数据库设置密码
  9. Unity基础案例讲解:创建小型太空射击游戏(一)
  10. 【VB+数控原理与系统】数控原理与系统课程设计刀具半径补偿直线-直线VB模拟软件实现
  11. UVM中drain_time使用
  12. python instagram 爬虫
  13. python基于flask_sockets实现WebSocket——叁
  14. 怎么在pdf上编辑文字内容
  15. Android微信页面缓存清理,安卓微信浏览器缓存如何清理
  16. 配置Tomcat详细教程!
  17. SQL Server 维护计划(数据库备份)
  18. matlab求松弛迭代发,MATLAB实现迭代法最佳松弛因子的选取
  19. 【PS必备】各系色卡对照表
  20. 手机扫描识别车牌号SDK

热门文章

  1. 在 Mac 上打开照片应用时遇到错误 4302,如何修复?
  2. 在 Mac 上如何使用鼠标键来控制指针?
  3. 如何帮卡住的 iPhone 强制还原? Tenorshare ReiBoot 只需四步实现 iPhone 重装
  4. Mac硬件温度管理软件TG Pro
  5. Mac卸载比较彻底的软件管理工具:App Cleaner Uninstaller
  6. 如何格式化基于 Intel 的 Mac?
  7. Part2--排序算法类模板
  8. 如何解决Linux 系统下 ifconfig 命令无网络接口 ens33
  9. Makefile中的ifeq 多条件使用 ***
  10. 中国第一个正式商用SD-WAN项目面世