![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
高性能MySQL
reachwang
这个作者很懒,什么都没留下…
展开
-
SQL必知必会(一)
1. 检索数据--要注意DISTINCT关键字,而且不能部分使用DISTINCT,即它会作用于所有的列SELECT DISTINCT keyword FROM table; --限制结果数量,使用LIMIT关键字。OFFSET关键字则用来表示从哪一行开始,第一行数字是0SELECT prod_name FROM Products LIMIT 5 OFFSET 5; --从第六行开始...原创 2019-10-31 16:33:12 · 790 阅读 · 0 评论 -
高性能的索引策略(一)
1. 独立的列查询的时候,要保证查询中的列时独立的,否则MySQL不会使用索引。“独立的列”是指索引列不嗯能够使表达式的一部分,也不能是函数的参数。例如下面这个查询无法使用actor_id列的索引:SELECT actor_id FROM sakila.actor WHERE actor_id +1 = 5;其实WHERE中等价于actor_id = 4,但MySQL不会自动解析。所以我们...原创 2019-10-26 15:24:40 · 443 阅读 · 0 评论 -
MySQL架构
1.1 MySQL逻辑架构首先看一下MySQL的逻辑架构图。最上层的的服务端可能是各种各样的应用,需要连接到数据库。第二层架构包含了MySQL的大多核心服务功能,包括查询解析、分析、优化、缓存以及所有的内置函数(例如,日期、时间、数字和加密函数),所有跨存储引擎的功能都在这一层时间:存储过程、触发器、视图等。第三层包含了存储引擎。存储引擎负责MySQL中数据的存储和提取。服务器通过API与...原创 2019-10-19 21:08:47 · 77 阅读 · 0 评论 -
MySQL中的索引----B-Tree索引
B-Tree索引使用B-Tree数据结构来存储数据,这意味着所有的值都是按顺序存储的,并且每一个叶子页到根的距离相同。下图展示了B-Tree索引的抽象表示:B-Tree索引之所以能加快访问数据的速度,是因为存储引擎不需要进行全表扫描来获取需要的数据,取而代之的是从索引的根节点开始搜索,根节点的槽中存放了指向子节点的指针,存储引擎根据这些指针向下层查找。能够看到会通过不停比较来向下寻找,最后要么...原创 2019-09-14 16:42:11 · 282 阅读 · 0 评论 -
MySQL中的索引----哈希索引
哈希索引基于哈希表实现,只有精确匹配索引所有列的查询才有效。对每行数据,存储引擎都会对所有的索引列计算一个哈希码,哈希码是一个较小的值,且不同键值的行计算出来的哈希码也不一样。哈希索引将所有的哈希码存储在索引中,同时在哈希表中保存指向每个数据行的指针。Memory引擎是支持非唯一哈希索引的,如果多个列的哈希值相同,索引会以链表的方式存放多个记录指针到同一个哈希条目中。下面看一个例子,假设有如下表...原创 2019-09-14 23:41:42 · 766 阅读 · 0 评论