0 MySQL单表最大记录数超过多少时性能会严重下降?,MYSQL 命令精华 — 整站优化,SEO整站优化网 -

SEO整站优化

查看: 899|回复: 0

MySQL单表最大记录数超过多少时性能会严重下降?

[复制链接]

121

主题

122

帖子

377

积分

中级会员

Rank: 3Rank: 3

积分
377
 楼主| 发表于 2021-8-2 20:14:57| 字数 1,858 | 显示全部楼层 |阅读模式
MySQL单表最年夜记载数凌驾几多时机能会严峻降落?整站劣化,成绩:MySQL单表最年夜记载数不克不及凌驾几多?: E, M$ L/ `$ m! n

% Q2 v8 b9 c  {) {( c" ]* l
MySQL单表最年夜记载数凌驾几多时机能会严峻降落?-1.jpg

1 I: o$ R6 s* A从前出有念过MySQL数据库的单表最年夜止数,曲到近来interview时被问到c言语中int范例的最年夜值是几多时才念到Mysql单表最年夜止数的成绩。
% ]# ]; B" K7 i一最先被问到C言语中int范例的最年夜值有面懵逼,一样平常这类成绩皆是正在校招时间会被问到,关于事情多年的人没有会问那个成绩。被问到那个成绩的时间,年夜脑中思索的没有是int范例最年夜值究竟是几多?而是为何那个成绩很典范,常常被问,相识那个工具能用到甚么处所呢?因而很快念到了MySql单表的最年夜记载数是几多,由于表的id通常为自增加的int范例。. K7 w: ^7 s5 L8 X) T3 b( ?
MySQL单表最年夜记载数凌驾几多时机能会严峻降落?8 ^* |' k* }7 }+ Q4 e. w2 \* y
' _+ e0 j* B" E! y
已经正在中国互联网手艺圈广为撒播着那么一个道法:MySQL 单表数据量年夜于 2000 万止,机能会显着降落。究竟上,那个听说听说最夙起源于百度。详细情形或许是如许的,昔时的 DBA 测试 MySQL机能时发明,当单表的量正在 2000 万止量级的时间,SQL 操纵的机能慢剧降落,因而,结论由此而去。然后又听说百度的工程师活动到业界的别的公司,也带来了那个疑息,以是,便正在业界撒播开那么一个道法。
# j6 i+ M# G( a5 l/ |. ^再厥后,阿里巴巴《Java 开辟脚册》提出单表止数凌驾 500 万止大概单表容量凌驾 2GB,才保举举行分库分表。对此,有阿里的黄金铁律支持,以是,许多人设想年夜数据存储时,多会以此为尺度,举行分表操纵。; P5 `6 c5 a  e- v

3 F: N! w7 {) m. B/ @
MySQL单表最年夜记载数凌驾几多时机能会严峻降落?-2.jpg
' U% B# r( j# g: g" \: n
那末,您以为那个数值几多才适宜呢?为何没有是 300 万止,大概是 800 万止,而是 500 万止?或许您会道那个能够便是阿里的最好真战的数值吧?那末,成绩又去了,那个数值是怎样评价出去的呢?稍等片晌,请您小小思索一会女。0 g5 @: J# W" a5 N/ A

* v! E3 I: i6 R" h$ ^, W0 ^5 Z4 J
MySQL单表最年夜记载数凌驾几多时机能会严峻降落?-3.jpg
8 Y, e& P5 j5 I& I6 E6 ?
究竟上,那个数值战现实记载的条数无闭,而取 MySQL 的设置和机械的硬件有闭。由于,MySQL 为了进步机能,会将表的索引拆载到内乱存中。InnoDB buffer size 充足的情形下,其能完玉成减载进内乱存,查询没有会有成绩。可是,当单表数据库抵达某个量级的上限时,招致内乱存没法存储其索引,使得以后的 SQL 查询会发生磁盘 IO,从而招致机能降落。固然,那个另有详细的表构造的设想有闭,终极招致的成绩皆是内乱存限定。那里,增添硬件设置,能够会带去吹糠见米的机能提拔哈。7 k; B# m/ s# Z5 O
那末,我关于分库分表的看法是,需求联合现实需供,没有宜过分设想,正在项目一最先没有接纳分库取分表设想,而是跟着营业的增加,正在没法持续劣化的情形下,再思量分库取分表进步体系的机能。
5 d) Z. @& a. B0 k8 M- L6 g对此,阿里巴巴《Java 开辟脚册》增补到:若是估计三年后的数据量基础达没有到那个级别,请没有要正在建立表时便分库分表。那末,回到一最先的成绩,您以为那个数值几多才适宜呢?我的倡议是,凭据本身的机械的情形综开评价,若是内心出有尺度,那末临时以 500 万止做为一个同一的尺度,相对而行算是一个比力折衷的数值。
. L6 A8 V6 i! J3 emysql bigint auto_increment 自增加值的最年夜数目
5 ]& o1 }' P/ h3 c4 Z! H1 R- ^8 k- y$ I, J5 `
bigint5 U7 |5 L, k- k: A; J$ t2 U
有标记值:-9223372036854775808 到9223373036854775807(- 2 ^ 63 到 2 ^ 63-1) 无标记值:0到18446744073709551615(0到2^64 – 1)3 G) H9 l' K+ s$ ?
建立表时 自增加字段 挑选无标记bigint,那末自增加最年夜值是 18446744073709551615
- E8 }, C/ w/ A) Q1 h一秒增添的记载条数 约莫几多年后才会用完$ @5 _! j# A/ F9 b: H: v% q

6 I; c/ @+ Z4 ]  ^6 W9 g
MySQL单表最年夜记载数凌驾几多时机能会严峻降落?-4.jpg
& V& A: Y8 U8 n1 v; E* R
做者:codeGoogle
9 h7 @& q* X; U0 E本文链接:https://juejin.cn/post/6955105392640655368
# J! x; c3 T. P; `

! [1 D- v! }8 I# ~. |/ [$ N' T$ z6 v本文链接:秃顶JAVA|存眷整站劣化网 进修更多seo相干要领...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • QQ|Archiver|手机版|小黑屋|SEO整站优化 — 外包整站SEO优化,万维网【SEO外包】整站优化网 ( 粤ICP备19158344号 ) |

    GMT+8, 2022-5-26 03:54 , Processed in 0.119805 second(s), 16 queries , Gzip On, Redis On.

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表