关于MySQL极限值的初步验证纠错(二)

之前写了一篇自己的简单测试总结:关于MySQL极限值的初步验证纠错

今天在这个基础上继续做一些分析,如果说最权威,最全面的材料,那应该非官方文档莫属了,而要把文档看明白,理解清楚,那就只有大量的练习了,目前我是没发现捷径可走,如果有的话,请告知。

要想较为全面的了解MySQL中的极限值,或者叫做边界值,有很多需要考虑的点,我们有些可以做测试,有些就需要参考文档了。比如一个表里的列最多是1017个,注意这里是最多,如果是varchar型,那就达不到1017,但是最大值1017的结论还是成立的。而如果要测试MySQL innoDB存储引擎的表最大可以有多大,那么这类问题,我是完全没法通过程序和数据来模拟的,官方文档里有,我们完全可以参考。

数据库的数量,表的数量:

官方的链接在这里:https://dev.mysql.com/doc/mysql-reslimits-excerpt/5.7/en/database-count-limit.html

简单来说,就是MySQL说我随意。

当然个别的云厂商还是会做一些资源的限制。

表空间的极限值:

最小的表空间大小:10M

最大的表空间大小:基于存储引擎和页的大小

The minimum tablespace size is slightly larger than 10MB. The maximum tablespace size depends on the InnoDB page size,

The maximum tablespace size is also the maximum size for a table.

所以说,默认页是16k,那么表空间的最大值就是64T,所以说,理论值可以那么大,但是我们绝对不会那么干。

InnoDB Page Size

Maximum Tablespace Size

4KB

16TB

8KB

32TB

16KB

64TB

辅助索引的个数

A table can contain a maximum of 64 secondary indexes.

没错,最多的辅助索引个数是64个。

复合索引的列

A maximum of 16 columns is permitted for multicolumn indexes. Exceeding the limit returns an error.

复合索引的列最多是16个。

索引键前缀长度

主要还是和参数innodb_large_prefix有关。默认是767字节,如果开启了参数,是3072,这个地方在5.6和5.7的描述有一些细小的偏差。

一些补充:

SHOW TABLE STATUS的结果只是一个估算值,不是完全精确的值。

5.7.18版本前的select count(*)的处理机制已经不同了,虽然方向是改进,其实性能还略有下降,已有同学提交了相关的bug.

SELECT COUNT(*) 和SELECT COUNT(1) 没有性能差别

Windows下都是默认的小写,迁移到Unix,Linux也需要注意。

原文发布于微信公众号 - 杨建荣的学习笔记(jianrong-notes)

原文发表时间:2017-12-07

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏带你撸出一手好代码

sql连接查询中on筛选与where筛选的区别

sql查询这个东西, 要说它简单, 可以很简单, 通常情况下只需使用增删查改配合编程语言的逻辑表达能力,就能实现所有功能。 但是增删查改并不能代表sql语句的所...

3458
来自专栏章鱼的慢慢技术路

查询自动售货机中的商品价格

1493
来自专栏JavaWeb

原 荐 MySQL-性能优化-优化设计和设计

1904
来自专栏草根专栏

Entity Framework Core 2.1,添加种子数据

EFCore 2.1出来有一段时间了,里面的新功能还没怎么用,今天研究下如何使用EF Core 2.1添加种子数据。

1391
来自专栏PHP在线

WordPress的可拓展性初探(一)

作者:西瓜玩偶(racnil070512 at hotmail dot com) WordPress是一个时下非常流行的网络信息发布平台,它的特性之一便是极强...

2969
来自专栏大数据和云计算技术

数据库中的元数据

刘耀铭同学元数据系列作品的第三篇,大家支持! 今天跟大家谈谈数据库中的元数据 数据库中的元数据无非就是对数据库中数据的描述与定义。 ? 我们先举个现实生活中...

2966
来自专栏数据和云

深入剖析:关于cache buffers chains的经典案例处理详解

? 卢文星 目前就职云和恩墨,南区交付工程师,有超过8年超大型数据库管理经验,擅长Oracle数据库性能优化与升级迁移。 作者介绍 故障现象 某省税务核心业务...

2756
来自专栏数据和云

经典案例:如何优化Oracle使用DBlink的SQL语句

作者介绍 赵全文 就职于太极计算机股份有限公司,在中央电化教育馆做Oracle DBA的驻场运维工作。具有3年左右的Oracle工作经验,目前擅长Oracle数...

4179
来自专栏happyJared

Python爬取微信公众号文章和评论 (基于Fiddler抓包分析)

  感觉微信公众号算得是比较难爬的平台之一,不过一番折腾之后还是小有收获的。没有用Scrapy(估计爬太快也有反爬限制),但后面会开始整理写一些实战出来。简单介...

8722
来自专栏逸鹏说道

我为NET狂官方面试题-数据库篇答案

说明:如有错误可以批评指正,有更好写法也可以提点下~ 1. 求结果:select "1"? 报错,SQL里面只有单引号,列如:'xx' 2. 查找包含"obj...

3558

扫码关注云+社区