![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
sql
文章平均质量分 74
sql
大哇唧
这个作者很懒,什么都没留下…
展开
-
MySQL调优学习笔记(六):分区表
简单来说,分区表就是把物理表结构相同的几张表,通过一定算法,组成一张逻辑大表。这种算法叫“分区函数”,当前 MySQL 数据库支持的分区函数类型有 RANGE、LIST、HASH、KEY、COLUMNS。无论选择哪种分区函数,都要指定相关列成为分区算法的输入条件,这些列就叫“分区列”。另外,在 MySQL 分区表中,主键也必须是分区列的一部分,不然创建分区表时会失败主键必须是分区列一部分,还是说分区列必须是主键一部分分区表注意事项:唯一索引在 MySQL 数据库中,分区表的索引都是局部,而非全原创 2022-05-21 17:08:18 · 350 阅读 · 0 评论 -
MySQL调优学习笔记(五):子查询
参考资料:姜承尧的MySQL实战宝典子查询性能提升MySQL 8.0 版本中,子查询的优化得到大幅提升。优化器会自动地将子查询优化为最佳的 JOIN 执行计划,这样一来会显著的提升性能。所以放心大胆地在MySQL8.0 中使用子查询吧!子查询 中IN 和 EXISTS,哪个性能更好?主要看执行计划。如果两者执行计划完全一样,性能没有任何差别。依赖子查询的优化在 MySQL 8.0 版本之前,对于子查询的优化并不充分。所以在子查询的执行计划中会看到 DEPENDENT SUBQUERY原创 2022-05-21 16:10:23 · 248 阅读 · 0 评论 -
MySQL调优学习笔记(四):MySQL优化器(CBO)
mysql是如何选择索引的优化器决定了具体某一索引的选择,也就是常说的执行计划。优化器的选择是基于成本,哪个索引的成本越低,优先使用哪个索引。如上图所示,MySQL 数据库由 Server 层和 Engine 层组成:Server 层有 SQL 分析器、SQL优化器、SQL 执行器,用于负责 SQL 语句的具体执行过程;Engine 层负责存储具体的数据,如最常使用的 InnoDB 存储引擎,还有用于在内存中存储临时结果集的 TempTable 引擎。SQL 优化器会分析所有可能的执行计划,原创 2022-05-21 15:43:48 · 1659 阅读 · 0 评论 -
MySQL调优学习笔记(二):索引组织表
参考资料:姜承尧的MySQL实战宝典InnoDB 存储引擎是 MySQL 数据库中使用最为广泛的引擎,在海量大并发的 OLTP 业务中,InnoDB 必选。它在数据存储方面有一个非常大的特点:索引组织表(Index Organized Table)。索引组织表数据存储有堆表和索引组织表两种方式。堆表中的数据无序存放, 数据的排序完全依赖于索引(Oracle、Microsoft SQL Server、PostgreSQL 早期默认支持的数据存储都是堆表结构)。在堆表的组织结构中,数据和索引分开原创 2022-05-12 15:36:34 · 412 阅读 · 0 评论 -
MySQL调优学习笔记(三):组合索引和函数索引
目录什么是组合索引组合索引的优势什么是函数索引函数索引的优势总结参考资料:姜承尧的MySQL实战宝典什么是组合索引组合索引是指由多个列所组合而成的B+树索引,组合索引既可以是主键索引,也可以是二级索引。组合索引(a,b)和组合索引(b,a)排序结果是完全不一样的。对组合索引(a,b)来说,它可以对以下几个查询进行优化。SELECT * FROM table_name WHERE a = ?SELECT * FROM table_name WHERE a = ? A原创 2022-05-12 11:24:03 · 530 阅读 · 0 评论 -
MySQL调优学习笔记(一):索引排序
参考资料:姜承尧的MySQL实战宝典索引是什么索引是提升查询速度的一种数据结构。索引之所以能提升查询速度,是因为它在插入时对数据进行了排序。显而易见,它的缺点是影响插入的性能。在目前的 MySQL 8.0 版本中,InnoDB 存储引擎支持的索引包含 B+ 树索引、全文索引、R 树索引。全文索引用于多个维度的查询,类似搜索引擎的查询,输入多个条件,然后输出结果;R树索引用于地理空间查询;B+树索引是数据库系统中最为常见的一种索引数据结构。B+树索引结构B+树索引是目前为止排序最有效率的原创 2022-05-12 10:02:22 · 464 阅读 · 0 评论