位置: 编程技术 - 正文

MySQL分表自增ID问题的解决方法(mysql分表命令)

编辑:rootadmin

推荐整理分享MySQL分表自增ID问题的解决方法(mysql分表命令),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:mysql分表实现,mysql分表的3种方法,mysql分表命令,mysql分表语句,mysql innodb 分表,mysql增加表分区,mysql分表的3种方法,mysql分表语句,内容如对您有帮助,希望把文章链接给更多的朋友!

当我们对MySQL进行分表操作后,将不能依赖MySQL的自动增量来产生唯一ID了,因为数据已经分散到多个表中。   应尽量避免使用自增IP来做为主键,为数据库分表操作带来极大的不便。 在postgreSQL、oracle、db2数据库中有一个特殊的特性---sequence。 任何时候数据库可以根据当前表中的记录数大小和步长来获取到该表下一条记录数。然而,MySQL是没有这种序列对象的。 可以通过下面的方法来实现sequence特性产生唯一ID:

1. 通过MySQL表生成ID 对于插入也就是insert操作,首先就是获取唯一的id了,就需要一个表来专门创建id,插入一条记录,并获取最后插入的ID。代码如下:

MySQL分表自增ID问题的解决方法(mysql分表命令)

也就是说,当我们需要插入数据的时候,必须由这个表来产生id值,我的php代码的方法如下:

这种方法效果很好,但是在高并发情况下,MySQL的AUTO_INCREMENT将导致整个数据库慢。如果存在自增字段,MySQL会维护一个自增 锁,innodb会在内存里保存一个计数器来记录auto_increment值,当插入一个新行数据时,就会用一个表锁来锁住这个计数器,直到插入结 束。如果是一行一行的插入是没有问题的,但是在高并发情况下,那就悲催了,表锁会引起SQL阻塞,极大的影响性能,还可能会达到 max_connections值。 innodb_autoinc_lock_mode:可以设定3个值:0、1、2 0:traditonal (每次都会产生表锁) 1:consecutive (默认,可预判行数时使用新方式,不可时使用表锁,对于simple insert会获得批量的锁,保证连续插入) 2:interleaved (不会锁表,来一个处理一个,并发最高) 对于myisam表引擎是traditional,每次都会进行表锁的。

2. 通过redis生成ID

3. 队列方式 其实这也算是上面的一个解说 使用队列服务,如redis、memcacheq等等,将一定量的ID预分配在一个队列里,每次插入操作,先从队列中获取一个ID,若插入失败的话,将该ID再次添加到队列中,同时监控队列数量,当小于阀值时,自动向队列中添加元素。 这种方式可以有规划的对ID进行分配,还会带来经济效应,比如QQ号码,各种靓号,明码标价。如网站的userid, 允许uid登陆,推出各种靓号,明码标价,对于普通的ID打乱后再随机分配。

监控队列数量,并自动补充队列和取到id但并没有使用

标签: mysql分表命令

本文链接地址:https://www.jiuchutong.com/biancheng/347570.html 转载请保留说明!

上一篇:win2008 R2 WEB环境配置之MYSQL 5.6.22安装版安装配置方法(windows web server 2008)

下一篇:MySQL ERROR 1045 (28000) 错误的解决办法

  • 银行电子回单有没有法律效应
  • 源泉扣税什么意思
  • 残保金季报要填上年职工人数
  • 现金流量表存货增加是负的
  • 部分红冲的发票怎么开
  • 企业房屋折旧年限规定
  • 小规模纳税人每个季度超过了30万怎么办
  • 小规模纳税人涉税风险
  • 增值税即征即退政策适用范围
  • 建筑安装专票票样
  • 转贴现视为贷款银行如何进行账务处理?
  • 用友反结账流程
  • 酒店怎么付钱
  • 刷信用卡的手续费去哪了
  • 搬迁到新租赁厂房的费用入什么科目?
  • 机器设备的损耗属于什么会计科目类别
  • 金税三期个人所得税税率
  • 建筑企业在增值税方面新出台的政策
  • 延期付款利息到底有没有税务风险
  • 网络发票和纸质发票不一致会计处理
  • 货物退回发票冲红会计分录
  • 无票收入如何抵税
  • 资产负债表日后调整事项会计处理
  • 公司账户转私账
  • 代开普通发票要什么材料?
  • 零元股权转让会亏本吗
  • 营业收入存入银行分录
  • windows11怎么设置默认应用
  • win10预览版21337
  • windows 11截图
  • 专利权的期限是指专利权的实际有效期限
  • php读取txt内容
  • 货物运输印花税计算公式
  • 会计账簿登记错误怎么办
  • 零售业的进货帐务怎么做
  • vue 自动部署
  • vue3 ts知乎专栏
  • 职工福利费会计科目怎么写
  • 梅尔加足球俱乐部
  • php 冒泡
  • 新个税累计预扣怎么算
  • python中map和filter有啥区别
  • php数据库网址
  • 增值税无票收入税率变了
  • 教育行业税收优势分析
  • 暂估成本账务处理办法
  • 全年一次性奖金并入或单独哪个好
  • 实际成本法如何核算
  • 防暑降温费计入工资还是福利费
  • 企业职工食堂就餐收费
  • 收到项目资本金怎么入账
  • 土地增值税的预缴
  • 涉外收入申报单怎么填
  • 固定资产的后续计量
  • 实际成本大于预计总成本
  • 资产减值损失怎么计提
  • mysql高级功能
  • MySQL5.6.31 winx64.zip 安装配置教程详解
  • win7系统ie浏览器怎么卸载重装
  • win8.1系统升级win10
  • ubuntu切换登录用户
  • mac2020怎么换开机背景
  • windows安装软件需要管理员权限
  • windows7如何关闭update
  • 如何在linux中安装软件
  • linux最常用的shell终端是
  • perl快速入门
  • 天气球球怎么下载
  • unity飞机大战游戏毕业论文
  • javascript初级教程
  • jQuery基于$.ajax设置移动端click超时处理方法
  • jQuery Ajax和getJSON获取后台普通json数据和层级json数据用法分析
  • WINDOWS中使用磁盘清理的主要作用是为了什么
  • js实现组件功能
  • 政治轮训的效果
  • 2020年增值税运费税率是多少
  • 机打发票教程视频
  • 青岛税务局局长是什么级别?
  • 税务函调回来几天可以退税
  • 浙江职称评审网站官网
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设