当前位置: 首页 > news >正文

网站开发吃香吗/百度网址

网站开发吃香吗,百度网址,dede网站 index.php无法访问,磁力猫最佳搜索引擎入口在设计关系型表结构时,设计主键是一个必不可少的步骤。 实际应用中,经常会看到一些表使用连续自增 id 作为主键,一些表使用 uuid 作为主键,也有使用雪花 id 作主键的。 对于在 mysql 中设计表的时候,mysql 官方推荐不…

在设计关系型表结构时,设计主键是一个必不可少的步骤。

实际应用中,经常会看到一些表使用连续自增 id 作为主键,一些表使用 uuid 作为主键,也有使用雪花 id 作主键的。

对于在 mysql 中设计表的时候,mysql 官方推荐不要使用 uuid 或者不连续不重复的雪花 id (long形且唯一,单机递增),而是推荐连续自增的主键 id,官方的推荐是 auto_increment,那么为什么不建议采用 uuid,使用 uuid 有什么坏处?

首先进行一个数据量的比较:

向 mysql 插入 100万 条数据,使用 uuid 作为主键时的效率非常低,使用 雪花id 的效率次之,使用 自增id 的效率最好。使用 uuid 的方式时,在数据量较大的情况下,效率会直线下滑。

使用 uuid 和 自增id 的索引结构对比

1、自增id 的内部结构

自增的主键的值是顺序的,所以 Innodb 把每一条记录都存储在一条记录的后面。当达到页面的最大填充因子时候(innodb 默认的最大填充因子是页大小的15/16,会留出1/16的空间留作以后的修改):

a、下一条记录就会写入新的页中,一旦数据按照这种顺序的方式加载,主键页就会近乎于顺序的记录填满,提升了页面的最大填充率,不会有页的浪费;

b、新插入的行一定会在原有的最大数据行下一行,mysql 定位和寻址很快,不会为计算新行的位置而做出额外的消耗;

c、减少了页分裂和碎片的产生。

2、uuid 的内部结构

因为 uuid 相对顺序的自增id来说是毫无规律可言的,新行的值不一定要比之前的主键的值要大,所以 innodb 无法做到总是把新行插入到索引的最后,而是需要为新行寻找新的合适的位置从而来分配新的空间。

这个过程需要做很多额外的操作,数据的毫无顺序会导致数据分布散乱,将会导致以下的问题:

a、写入的目标页很可能已经刷新到磁盘上并且从缓存上移除,或者还没有被加载到缓存中,innodb 在插入之前不得不先找到并从磁盘读取目标页到内存中,这将导致大量的随机IO;

b、因为写入是乱序的,innodb 不得不频繁的做页分裂操作,以便为新的行分配空间,页分裂导致移动大量的数据,一次插入最少需要修改三个页以上;

c、由于频繁的页分裂,页会变得稀疏并被不规则的填充,最终会导致数据会有碎片。

在把随机值(uuid 和 雪花id)载入到聚簇索引(innodb 默认的索引类型)以后,有时候会需要做一次 OPTIMEIZE TABLE 来重建表并优化页的填充,这将又需要一定的时间消耗。

使用 自增id 的缺点:

a、当有爬虫爬取数据库时,就可以根据数据库的自增id获取到业务增长信息,很容易分析出你的经营情况;

b、对于高并发的负载,innodb 在按主键进行插入的时候会造成明显的锁争用,主键的上界会成为争抢的热点,因为所有的插入都发生在这里,并发插入会导致间隙锁竞争;

c、Auto_Increment 锁机制会造成自增锁的抢夺,有一定的性能损失。

http://www.lbrq.cn/news/1360945.html

相关文章:

  • 重庆市公司网站备案在哪了/网站首页快速收录
  • 深圳网站设计在哪济南兴田德润联系电话/今天最新新闻
  • 做网站开发需要什么技能/seo相关岗位
  • 太原手手工网站建设公司/网络优化培训要多少钱
  • 网站之家查询域名/怎样在百度上发布广告
  • 河源网站优化/sem是什么职位
  • 网站建设项目公司/自媒体账号申请
  • 有哪些网站可以做赌博游戏/独立网站和平台网站
  • 分类信息网站做推广/百度搜索风云榜
  • 广州网站建设 app 小程序/it培训班学出来有用吗
  • 线上推广团队/温州seo排名公司
  • 旅游网站制作/北京seo学校
  • 浙江省建设厅新网站人员无法查询/磁力搜索
  • 二手书网站建设报告/合川网站建设
  • 二级a做爰片免费视网站/网站推广线上推广
  • 单位内部网站建设/建立网站的几个步骤
  • 湖南外贸网站建设/百度信息流怎么做效果好
  • 临沂网站制作企业/爱站网关键词工具
  • 深圳网站模板建站/读书网站排名
  • 百度网站关键字/宁波优化关键词首页排名
  • 一级a做爰片免费网站孕交视频教程/中国十大网站排名
  • 南宁在百度上建网站/百度网站收录入口
  • 广州大型网站建设公司/网站优化外包费用
  • b2b网站推广方法/小学生简短小新闻摘抄
  • 软件培训手册/北京seo外包 靠谱
  • 网站无icp备案/哈尔滨网站优化流程
  • 教师招聘网站长城建设集团/网站开发公司排行榜
  • 做微商推广有哪些好的分类信息网站/线上推广方式有哪些
  • ps个人网站制作流程/百度推广客户端mac版
  • 高端网站建设一般多少钱/seo和sem的区别是什么?
  • 后量子时代已至?中国量子加密技术突破与网络安全新基建
  • 【Linux系统】进程间通信:基于匿名管道实现进程池
  • 机器学习(13):逻辑回归
  • Antlr学习笔记 01、maven配置Antlr4插件案例Demo
  • FreeRTOS源码分析四:时钟中断处理响应流程
  • MySQL 基本操作入门指南