![](https://img-blog.csdnimg.cn/20191226132602278.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
高性能mysql
文章平均质量分 95
主要介绍《高性能Mysql》这本书中的常用知识。
sky国士无双
不积跬步,无以至千里。
展开
-
《高性能mysql总结》
一、mysql架构 1. mysql逻辑架构 mysql服务器逻辑架构图 (1)最上层的服务并不是Mysql所独有的,大多数基于网络的客户端/服务器的工具或者服务都有类似的架构。主要负责连接处理,身份验证,安全性等。 (2)第二层架构师Mysql的核心部分,大多数mysql的核心服务都在这一层,包括查询解析、分析、优化、缓存以及所有的内置函数,同时,所有跨存储引擎的功能都在这一层实现:存储过程、...原创 2020-01-16 19:02:40 · 390 阅读 · 4 评论 -
《高性能mysql》三创建高性能的索引
一、B-TREE索引 B-TREE索引的限制 (1)如果不是按照索引的最左列进行查找,则无法使用索引 (2)不能跳过索引中的列 (3)如果查询中有某个列的范围查询,则其右边所有列都无法使用索引优化查找 二、哈希索引 哈希索引基于哈希表实现,只有精确匹配索引所有列的查询才有效。对于每一行数据,存储引擎都会对所有的索引列计算一个哈希码,哈希码是一个较小的值,并且不同的键值的行计算出来的哈希码也不一样。...原创 2019-12-23 15:04:14 · 57 阅读 · 0 评论 -
《高性能Mysql》四-查询性能优化
一、为什么查询速度会慢 如果把查询看作是一个任务,那么它由一系列子任务组成,每个子任务都会消耗一定的时间。如果要优化查询,实际上要优化其子任务,要么消除其中一些子任务,要么减少子任务的执行次数,要么让子任务运行得更快。 二、优化数据访问 对于低效的查询,我们发现通过下面两个步骤来分析总是很有效: 确认应用程序是否在检索大量超过需要的数据。这通常意味着访问了太多的行,但有时候也可能是访问了太多的列。...原创 2019-12-24 20:24:26 · 271 阅读 · 0 评论 -
《高性能mysql》二schema与数据类型优化
一、选择优化的数据类型 (1)更小的通常更好 一般情况下,应该尽量使用可以正确存储数据的最小数据类型。更小的数据类型通常更快,因为他们占用更少的磁盘、内存和cpu缓存,并且处理时需要的cpu周期也更少。 (2)简单就好 简单数据类型的操作通常需要更少的cpu周期。 (3)尽量避免null 通常情况下最好指定列为not null, 除非真的需要存储null值。可为null的列会使用更多的存储空间,在...原创 2019-10-22 10:15:36 · 80 阅读 · 0 评论 -
《高性能mysql》一mysql架构与历史
1. mysql的线程控制 每个客户端连接都会在服务器进程中拥有一个线程,这个连接的查询只会在这个单独的线程中执行,该线程只能轮流的在某个cpu核心或者cpu中运行。服务器会负责缓存线程,因此不需要为每一个新建的连接创建或者销毁线程。 2. 共享锁(读锁)和排他锁(写锁) 读锁是共享的,或者说是相互不阻塞的。多个客户在同一时刻可以读取同一个资源,而互不干扰。写锁是排他的,也就是说一个写锁会阻塞其他...原创 2019-10-18 19:26:40 · 120 阅读 · 0 评论