![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
SQL优化系列
Ben同学
加油,坚持学习!
展开
-
MySQL的EXPLAIN命令详解(背就完事了)
文章目录语法各列详解keyrowspossible_keyskey_lentableselect_typesimpleprimaryderiveddependent subqueryunionunion resultpartitionsExtra解释EXPLAIN输出结果 MySQL的EXPLAIN命令用于SQL语句的查询执行计划(QEP). 这条命令的输出结果能够让我们了解MYSQL优化器是如何...原创 2019-10-13 14:05:29 · 550 阅读 · 0 评论 -
MySQL性能优化小技巧(必会)
文章目录索引管理优化整合DDL语句去除重复索引删除不用的索引监控无效的索引索引列的改进数据类型的优化BIGINT 和INT的区别DATETIME和TIMESTAMP的区别什么时候用ENUM什么时候使用NULL或NOT NULL隐含的变换列的类型IP地址MD5其他SQL优化减少SQL语句删除内容重复的SQL语句删除重复执行的SQL语句删除不必要的SQL语句缓存SQL结果MySQL缓存应用程序缓存简化...原创 2019-10-13 02:02:50 · 217 阅读 · 3 评论 -
SQL的生命周期
文章目录截取SQL语句全面查询日志慢查询日志二进制日志进程列表引擎状态MySQL连接器应用程序代码information——schemaperformance——schemaSQL语句统计插件MySQL ProxyTCP/IP识别有问题的语句慢查询日志分析TCP/IP分析确认语句执行环境时间统计 优化SQL语句的生命周期涉及6个独立部分,包括如何截取SQL语句、识别有问题的SQL语句以及在开始分析...原创 2019-10-12 23:42:51 · 1780 阅读 · 0 评论 -
MySQL优化基础技巧
文章目录确认运行缓慢的查询识别性能问题寻找运行缓慢的SQL语句生成查询执行计划(QEP,query execution plan)不应该做的事识别缺失的索引应用新的索引验证新的索引 确认运行缓慢的查询 识别性能问题 当确定不存在物理系统资源瓶颈之后,就应该把注意力转向MySQL数据库的优化上. 寻找运行缓慢的SQL语句 使用 SHOW FULL PROCESSLIST 命令可以查看有哪些线程在运行...原创 2019-09-01 23:32:12 · 108 阅读 · 1 评论 -
深入理解MySQL的索引
文章目录MySQL索引各种可能的用途数据完整性优化数据访问表连接结果排序聚合操作理解各种索引数据结构理论索引专业术语各种存储引擎的索引实现方式分区的MySQL索引 创建合适的索引是SQL性能调优中最重要的技术之一. MySQL索引各种可能的用途 索引不仅仅是在读取数据时优化mysql的性能.这些功能还包括: 保持数据完整性 优化数据访问性能 改进表的连接操作 对结果进行排序 简化聚合数据操作 ...原创 2019-09-16 14:41:14 · 85 阅读 · 0 评论 -
创建MySQL索引
文章目录我文章需要使用的表已有的索引单列索引创建单列索引的语法利用索引限制查询读取的行数使用索引连接表理解索引的基数使用索引进行模式匹配选择唯一的行结果排序多列索引确定使用何种索引多列索引的语法创建更好的索引多个列上的索引合并where和order by语句MySQL优化器的特性查询提示总查询提示索引提示添加索引造成的影响DML影响重复索引索引是否被使用DDL影响磁盘空间影响MySQL的限制和不足...原创 2019-10-10 15:40:31 · 185 阅读 · 0 评论 -
创建更好的MySQL索引
文章目录更好的索引覆盖索引存储引擎的含义局部索引 在上一次中我们已经讨论过单列索引和多列索引,接下来我们来看看覆盖索引和局部列索引. 更好的索引 覆盖索引 覆盖索引是多列索引中的一种 如果我们想查询所有在1969年出道的艺人名字,可以运行下面的查询: 这个表有大约500000行数据,在没有索引的情况下查询需要耗时190毫秒. 我们给这个表加一个索引: 加了单列索引后查询耗时减少到5.9毫秒,...原创 2019-10-11 00:11:49 · 89 阅读 · 0 评论 -
MySQL配置选项
文章目录内存相关的系统变量key_buffer_size 内存相关的系统变量 MySQL内存系统变量能够影响全局内存的使用,也能够影响到多线程的单一MySQL进程中会话的内存使用情况. 很多MySQL变量是动态的,他们的值可以在运行时通过MySQL客户端的set命令更改. 全局内存缓冲区: 全局/会话内存缓冲区 会话缓冲区: key_buffer_size key_buffer_size...原创 2019-10-11 12:01:22 · 489 阅读 · 0 评论