随笔分类 -  MySQL

摘要:本节内容总结自《High Performance MySQL》 DISTINCT:DISTINCT是用来去重的。DISTINCT支持单列,多列的去重方式。单列去重的方式是相同的值只保留一个。多列去重是根据指定列的信息进行的,即只有所有指定的列都相同,才会被认为是相同的信息。 GROUP BY:在一个 阅读全文
posted @ 2021-02-04 17:41 Cruel_King 阅读(832) 评论(0) 推荐(0) 编辑
摘要:本节内容总结自《High Performance MySQL》 IN和EXISTS的用法和区别 EXISTS:EXISTS对外表用loop逐条查询,每次查询都会查看EXISTS条件语句(子查询语句),条件语句中能够返回记录行则条件就为真,外表的这条记录就会被加入结果集,如果EXISTS里的子查询不能 阅读全文
posted @ 2021-02-03 11:32 Cruel_King 阅读(622) 评论(0) 推荐(0) 编辑
摘要:本节内容总结自《High Performance MySQL》 查询执行的基础 当向MySQL发送一个请求时,MySQL做了什么 客户端发送一条查询给服务器。 服务器先检查缓存,如果命中了缓存,则立刻返回存储在缓存中的结果。否则进入下一个阶段。 服务器端进行SQL解析,预处理,再由优化器生成对应的执 阅读全文
posted @ 2021-02-02 13:01 Cruel_King 阅读(145) 评论(0) 推荐(0) 编辑
摘要:本节内容总结自《High Performance MySQL》 高性能的索引策略 独立的列 查询时,最好不要对索引字段建立表达式,也不能将索引字段作为函数的参数,因为这会使索引失效,MySQL无法自动解析这种方程。 前缀索引和索引选择性 索引选择性 = 不重复的索引值 / 数据表的记录总数 T 前缀 阅读全文
posted @ 2021-01-30 21:17 Cruel_King 阅读(125) 评论(0) 推荐(0) 编辑
摘要:本节内容总结自《High Performance MySQL》 索引基础 索引的概念 索引是存储引擎用于快速找到记录的一种数据结构。索引类似于一本书的目录部分,MySQL在利用索引查找的时候与其类似,其先在索引中找到对应值,然后根据匹配的索引记录找到对应的数据行。MySQL中索引可以包含一个或多个列 阅读全文
posted @ 2021-01-30 10:53 Cruel_King 阅读(59) 评论(0) 推荐(0) 编辑
摘要:本节内容总结自《High Performance MySQL》 加快ALTER TABLE的操作速度 MySQL执行ALTER TABLE的原理 MySQL执行大部分修改表结构操作的方法是用一个新的结构创建一个空表,从旧表中查出所有数据插入新表,然后删除旧表,一般而言,大部分ALTER TABLE操 阅读全文
posted @ 2021-01-29 22:44 Cruel_King 阅读(886) 评论(0) 推荐(0) 编辑
摘要:本节内容总结自《High Performance MySQL》 事务 概念 事务就是一组原子性的SQL查询,或者说是一个独立的工作单元。如果数据库引擎能够成功的对数据库应用该组查询的全部语句,那么就执行该查询,否则所有的语句都不会执行。综述:事务内的语句,要么全部执行成功,要么全部执行失败。 事务中 阅读全文
posted @ 2021-01-29 12:20 Cruel_King 阅读(75) 评论(0) 推荐(0) 编辑
摘要:本节内容总结自《High Performance MySQL》 选择优化的数据类型 选择数据类型的方法 更小的通常更好:一般情况下尽量使用可以正确存储数据的最小数据类型。更小的通常更快,因为他们占用更少的磁盘,内存和CPU缓存。 简单就好:简单数据类型的操作通常需要更少的CPU周期。例如,整形比字符 阅读全文
posted @ 2021-01-29 12:17 Cruel_King 阅读(228) 评论(0) 推荐(0) 编辑
摘要:> 本节内容总结自《High Performance MySQL》 设计MySQL应该注意以下几点: 1. 避免太多的列:MySQL的存储引擎API工作时需要在服务器层和存储引擎层之间通过行缓冲格式拷贝数据,然后在服务器层将缓冲内容解码成各个列。从行缓冲中将编码过的列转码成行数据结构的操作代价是非常 阅读全文
posted @ 2021-01-29 12:08 Cruel_King 阅读(92) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示