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

网站建设代码优化长沙seo搜索

网站建设代码优化,长沙seo搜索,wordpress新闻404,如何推广游戏自增id 对于大多数系统来说,使用mysql的自增id当作主键再最合适不过了。在数据库层面就可以获取一个顺序的、唯一的、空间占用少的id。 自增id需要是 int、bigint这些整数类型,uint 支持 40 亿的数据量,bigint unsign(0 &#x…

自增id

对于大多数系统来说,使用mysql的自增id当作主键再最合适不过了。在数据库层面就可以获取一个顺序的、唯一的、空间占用少的id。

自增id需要是 int、bigint这些整数类型,uint 支持 40 亿的数据量,bigint unsign(0 ~18,446,744,073,709,551,615.), 40 亿的数据量对于一个频繁增加删除的表来说并不是一个很大的数字,有用完的风险。因此在建表时需要考虑,是否使用bigint。

优点

  • 简单、高效
  • 唯一、递增

缺点

  • 可拓展性差;所有的id生成都依赖于主库,难以拓展;当然,可以增加主库的数量,将数据水平切分保证每个库的Id不重复,但是会引入格外的复杂度。

每次id生成都会访问数据库,数据库压力大,所以很多系统想要自己生成id。

在这里插入图片描述

发号器服务

想要全局唯一的id,就只能访问一个单点服务。但是直接利用数据库,又会导致数据库压力大,而且每次生成id都会有一次远程访问;

我们可以写一个发号器的服务,专门用来生成唯一id;可以优化访问数据库的逻辑,比如 一次访问批量获取10条id到内存,并记录(持久化)最大的id=n+10,下次取号直接重内存中获取;

在这里插入图片描述

这样数据库的访问次数就减少了,并且还可以将 发号器服务和业务服务部署在一个pod里(sidecar),避免频繁的远程调用。

在这里插入图片描述

缺点

  • 增加开发、运维成本
  • 仍然存在远程调用,有一定延迟

接下来介绍两种常用的本地唯一id生成的方案

UUID

通过本地算法获取唯一字符串。

优点

  • 本地生成,简单、低延迟
  • 拓展性好,理论上无上限

缺点

  • uuid类型时字符串,一般长度12+,占用空间较大
  • uuid无序会导致页空间浪费以及频繁的页分裂,增加了系统开销

页分裂:如果是乱序的写入,每次在中间的某个叶子节点写入数据,后面的数据都需要往后挪。更糟糕的是,如果后挪时某一页记录已满,接着就会页分裂,部分的数据移动到新的页。

所以乱序的插入会导致频繁的页分裂,不仅耗时,还会导致空间利用率变低,后续不得不通过OPTIMIZE TABLE来重建表并优化填充页面。

图片来自 https://segmentfault.com/a/1190000039151324

snowflake

分布式ID生成算法

一个long型的ID,使用其中41bit作为毫秒数,10bit作为机器编号,12bit作为毫秒内序列号。这个算法单机每秒内理论上最多可以生成1000 * (2^12-1) 或 1000 * ((1 << 12)- 1),也就是4096000个ID。

借鉴snowflake的思想,结合各公司的业务逻辑和并发量,可以实现自己的分布式ID生成算法。

优点

  1. 本地生成id,延迟低
  2. id整体趋势有序
  3. 可以根据自己的业务灵活调整

缺点

  1. 不是全局有序

Reference

https://segmentfault.com/a/1190000039151324

https://blog.csdn.net/weixin_39710991/article/details/113128951

https://changkaixin.cn/2015/12/04/gen-id-way/

https://z.itpub.net/article/detail/F49F834DAD1FDEE011F56A7CD7DA65C6

https://chai2010.cn/advanced-go-programming-book/ch6-cloud/ch6-01-dist-id.htm

http://www.dtcms.com/wzjs/75863.html

相关文章:

  • html基本结构代码湘潭网站seo磐石网络
  • 套b网站seo建站营销
  • 武汉企业网站营销设计windows优化大师收费
  • 亚马逊电商平台怎么入驻seo公司是做什么的
  • wordpress enigma泰州seo网络公司
  • 哪里建设企业网站网站如何让百度收录
  • 做电商网站要服务器吗google官方下载app
  • 哪些网站做的不好用网站关键字优化
  • 河南安阳吧郑州网站制作选择乐云seo
  • 淮南网站设计seo顾问公司
  • 跟做网站相关的法律站长工具seo综合查询访问
  • 怎么做淘宝客导购网站北京网站优化对策
  • 合肥的网站建设剂屏河北网站推广
  • 一个网站建设10万元网络营销概述
  • 会员管理系统代码百度地图优化排名方法
  • 建设网站 请示 报告长沙优化网站推广
  • 网站首页页面设计模板百度搜索热度查询
  • 网站改版做301种子资源
  • 可以随意建国际商城的网站吗广州网站优化推广方案
  • 有哪些公司的网站做的比较好网站建设公司开发
  • 做特卖的网站有百度收录检测
  • 周口网站制作黄页引流推广网站
  • 做建网站的公司seo属于技术还是营销
  • 制作个人网站要多少钱长沙大型网站建设公司
  • dw怎么做网站跳转广州网站优化外包
  • 做微商网站公司公司官网开发制作
  • 方维服务公司服务范围windows优化大师有毒吗
  • 易语言做电影网站源码山西seo顾问
  • 西安疫情最新进展武汉百度seo网站优化
  • 做商城网站建设长沙专业做网站公司