数据库
首页 > 数据库> > Mysql优化(出自官方文档) - 第九篇(优化数据库结构篇)

Mysql优化(出自官方文档) - 第九篇(优化数据库结构篇)

作者:互联网

目录

Mysql优化(出自官方文档) - 第九篇(优化数据库结构篇)

1 Optimizing Data Size

通常来讲,定义表的时候,一个合理的数据类型,往往意味着更少的存储空间,更少的磁盘I/O,索引扫描也会更快,接下来将从五个方面来介绍如何进行这种优化:

2 Optimizing MySQL Data Types

3 Optimizing for Many Tables

我们已经知道为了加快查询速度,将数据分割为多个表是一种非常方便的优化方式,但是,当表的数量增大到上千个甚至上万个时,优化方式将会有些不一样。

4 Internal Temporary Table Use in MySQL

很多情况下,Mysql都会进行创建临时表(内存表或者会下盘的表),这些条件如下(因为原文太长,所以这里省略和合并部分条件):

对于一些查询,Mysql无法使用in-memory临时表,这个时候就只能创建on-disk临时表,这些情况包括:

某些情况下,UNION也不一定会使用临时表,这些情况包括:

在具体实现时,内部in-memory临时表存储在TempTable或者MEMORY存储引擎,on-disk临时表存储在InnoDB中:

在Mysql8.0.16之前,可以通过internal_tmp_disk_storage_engine=MYISAM参数来制定具体的存储引擎,但是其或者之后,该参数就已经被抛弃了,用户将无法配置使用哪种存储引擎。

NOTE:

当使用MEMORY存储引擎时,刚开始临时表会被创建在内存中,但是当临时表变得比较大了,Mysql会开始创建临时文件,并使用映射的方式映射到内存中。

标签:cache,使用,第九篇,索引,BLOB,Mysql,table,优化
来源: https://www.cnblogs.com/seancheer/p/11403809.html