广告
返回顶部
首页 > 资讯 > 数据库 >TIDB 自增ID 后插入数据ID小
  • 152
分享到

TIDB 自增ID 后插入数据ID小

TIDB自增ID后插入数据ID小 2017-10-03 21:10:36 152人浏览 无得
摘要

业务同学遇见这样的一个问题 select * from t where id>100 order by id asc limit 200; 发现只查到了10个数据 最小的id是101,最大的id是130 然后去控

业务同学遇见这样的一个问题

select * from t where id>100 order by id asc limit 200;

发现只查到了10个数据

最小的id是101,最大的id是130

然后去控制台执行

select * from t where id>100 and id<=130;

发现又能获取到30个数据

 

推测是TIDB自增ID有问题,先写入了ID大的值,后写入了ID小的值

 

查到在TIDB官方文档上有解释

https://pinGCap.com/docs-cn/stable/faq/tidb/

1.1.22 TiDB 中,为什么出现后插入数据的自增 ID 反而小?

TiDB 的自增 ID (AUTO_INCREMENT) 只保证自增且唯一,并不保证连续分配。TiDB 目前采用批量分配的方式,所以如果在多台 TiDB 上同时插入数据,分配的自增 ID 会不连续。当多个线程并发往不同的 tidb-server 插入数据的时候,有可能会出现后插入的数据自增 ID 小的情况。此外,TiDB允许给整型类型的字段指定 AUTO_INCREMENT,且一个表只允许一个属性为 AUTO_INCREMENT 的字段。详情可参考CREATE TABLE 语法。

 

Https://pingcap.com/docs-cn/stable/reference/Mysql-compatibility/#%E8%87%AA%E5%A2%9E-id

TiDB 目前采用批量分配 ID 的方式

TiDB 实现自增 ID 的原理是每个 tidb-server 实例缓存一段 ID 值用于分配(目前会缓存 30000 个 ID),用完这段值再去取下一段。

 

您可能感兴趣的文档:

--结束END--

本文标题: TIDB 自增ID 后插入数据ID小

本文链接: https://www.lsjlt.com/news/2495.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • TIDB 自增ID 后插入数据ID小
    业务同学遇见这样的一个问题 select * from t where id>100 order by id asc limit 200; 发现只查到了10个数据 最小的id是101,最大的id是130 然后去控...
    99+
    2017-10-03
    TIDB 自增ID 后插入数据ID小
  • 详解mysql插入数据后返回自增ID的七种方法
    引言 mysql 和 oracle 插入的时候有一个很大的区别是: oracle 支持序列做 id; mysql 本身有一个列可以做自增长字段。 mysql 在插入一条数据后,如何能获得到这个自增 id...
    99+
    2022-05-12
    mysql插入返回自增ID mysql 返回自增ID
  • 详解mybatis插入数据后返回自增主键ID的问题
    1.场景介绍: ​开发过程中我们经常性的会用到许多的中间表,用于数据之间的对应和关联.这个时候我们关联最多的就是ID,我们在一张表中插入数据后级联增加到关联表中.我们熟知...
    99+
    2022-11-12
  • mybatis插入数据后如何返回新增数据的id值
    目录1、自增主键情况下插入数据获取自增主键值2、主键非自增的情况下获取主键值3、keyColumn作用总结1、自增主键情况下插入数据获取自增主键值 mybatis为我们提供了一个方法...
    99+
    2022-11-13
  • Mybatis---mybatis插入数据后返回自增主键ID的两种方式
    概要 开发过程中我们经常性的会用到许多的中间表,mybatis插入数据后返回自增主键的两种方式, 用于数据之间的对应和关联,这个时候我们关联最多的就是ID,我们在一张表中插入数据后级联增加到关联表中,我们数值的mybatis在插入数据后返回...
    99+
    2023-09-25
    mybatis
  • Mysql数据库自增id、uuid与雪花id详解
    目录概念介绍三种主键聚簇索引与非聚簇索引自增iduuid雪花id与应用总结概念介绍 三种主键 自增id :1 2 3 4 5…… uuid :UUID是Universally Unique I...
    99+
    2023-02-28
    mysql自增id和uuid 数据库union的用法 mysql自增主键
  • 使用mybatis进行数据插入时如何返回自增的id
    如何解决问题 具体问题解决办法注意点 具体问题 当我们存储数据时,有时候id是选择让数据库自增的 。但前端如果需要当前添加数据的id时,我们在代码上就无法返回了。 解决办法 在 MyBatis 中,可以通过配置来确保数据库操...
    99+
    2023-08-21
    mybatis java 数据库
  • Mysql数据库自增id、uuid与雪花id实例分析
    这篇“Mysql数据库自增id、uuid与雪花id实例分析”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Mysql数据库自增...
    99+
    2023-07-05
  • 更改postgresql数据表的自增id
    更改postgresql数据表的自增id 首先查看需要更改表的自增ID的索引名称:使用命令:\d you_table_name如下图所示,在Default一栏中 server_server_id_seq 即...
    99+
    2022-10-18
  • MySQL怎么一次查询插入多条的自增 ID
    本篇内容介绍了“MySQL怎么一次查询插入多条的自增 ID”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!如...
    99+
    2022-10-18
  • myBatis如何在插入时返回自增的主键id
    这篇文章主要介绍了myBatis如何在插入时返回自增的主键id,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。插入时返回自增的主键id<...
    99+
    2022-10-19
  • tk.Mybatis插入数据获取Id问题
    目录1、问题描述2、问题分析3、总结1、问题描述 几种代码写法会有不同的ID返回值,下面我们一一分析。 2、问题分析   首先一种插入写法,源码如下: SysUser .java ...
    99+
    2022-11-12
  • Mybatis Plus插入数据后获取新数据id值的踩坑记录
    目录问题描述:解决方法:总结问题描述: Mybatis Plus的insert方法,按说插入数据后会自动返回id mapper方法: @DS("wxuser") @Mapper pu...
    99+
    2022-11-13
    mybatisplus保存数据返回id mybatis plus获取新数据id值 mybatisplus生成id
  • tk.Mybatis插入数据获取Id怎么实现
    这篇文章主要介绍“tk.Mybatis插入数据获取Id怎么实现”,在日常操作中,相信很多人在tk.Mybatis插入数据获取Id怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”tk.Mybatis插入数...
    99+
    2023-06-21
  • 如何屏蔽数据库中自增ID功能
    今天就跟大家聊聊有关如何屏蔽数据库中自增ID功能,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。  在平时的项目开发中,我相信有很大一批人都在用这个数...
    99+
    2022-10-18
  • mysql数据自增ID为2的解决方案
    目录mysql数据自增ID为2问题mysql自增id理解1. 什么是自增id2. 自增id的好处3. 自增id的坏处4. 当自增id用完了怎么办?总结mysql数据自增ID为2问题 查看配置 show variables...
    99+
    2022-12-27
    mysql数据自增ID为2 mysql自增ID mysql自增ID为2
  • oracle数据库id自增及生成uuid问题
    目录oracle数据库id自增及生成uuidoracle中自动生成id的函数以及注意事项总结oracle数据库id自增及生成uuid oracle数据库中id自增的方法:首先创建一个sequence序列 CREATE S...
    99+
    2023-05-05
    oracle数据库 oracle id自增 oracle生成uuid
  • 如何用注解的方式实现Mybatis插入数据时返回自增的主键Id
    目录用注解实现Mybatis插入数据返回自增的主键Id设计数据库表设计Java bean对象添加mapper接口Mybatis注解增(返回自增id) 删查改以及(一对一,一对多,多对...
    99+
    2022-11-13
  • Mybatis如何获取最新插入数据的id
    目录获取最新插入数据的id原始方法使用useGeneratedKeys根据时间查询最新一条数据第一种的xml配置根据最新的插入时间第二种的xml配置根据ownum获取最新插入数据的i...
    99+
    2022-11-12
  • Mybatis怎么获取最新插入数据的id
    这篇文章主要介绍Mybatis怎么获取最新插入数据的id,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!获取最新插入数据的id原始方法读取最后一条的插入数据,但这样会造成如果两条数据同时插入,会并发出现错误SELEC&...
    99+
    2023-06-26
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作