![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MySQL SQL Tuning
文章平均质量分 64
linwaterbin
当时明月在,曾照彩云归。
展开
-
MySQL分区之RANGE分区
环境:mysql> select version()\G;*************************** 1. row ***************************version(): 5.5.28 ㈠ 主要应用场景 RANGE分区主要用于日期列的分区 例如销售类的表,可以根据年份来分区存储销售记录原创 2012-12-03 23:05:42 · 1982 阅读 · 0 评论 -
MySQL SQL优化:关联子查询的局限性
这是MySQL SQL优化的第三篇。公司某个业务系统频繁抛出问题SQL,我们对此类SQL做了基本面统计:此类SQL近期共执行了12次,最长一次花费480秒,最短286秒t1表的rows有90多万,始终会扫描这么多不需要的数据这是由于MySQL查询优化器在处理相关子查询方面存在局限性MySQL总是会将相关的外层表压到子查询中,它认为这可以更高效地查找数据行。这就意味着MySQL先选择对外层表进行全表原创 2014-04-05 16:57:47 · 3267 阅读 · 1 评论 -
MySQL SQL优化:碍手碍脚的索引
该篇是SQL优化的第4篇。这里主要表达我的一个观点是:不该存在的索引就该干掉,留着碍事在2014-3-12 15:39:01 -- 15:55:00这段时间内,在某个业务系统我们发现2个问题:1. 数据库存在大量的查询等待2. 服务器的存在较严重的io等待这种现象在数据库中实际也是很常见,就是某个慢查询,始作俑者,执行特马慢,把后面本该很快的查询给堵住,导致系列长查询出现经诊断,我们发现某张表里存原创 2014-04-05 17:22:54 · 4022 阅读 · 2 评论 -
MySQL SQL优化:Percona优化器真的好吗?
这是MySQL SQL优化分享第2篇,大家都很崇尚MySQL的一个强大分支Percona,真该跟风吗?有些时候,还是原配靠谱,小三不一定给力。我们先看下sar报告:明显地,CPU %idle 非常低,粗大事了。我们的告警邮件里显示,单条SQL执行时间长达 300秒左右。原始SQL非常长,这里就不贴了,但要表述的一个优化技巧是,优化的第一步,就是格式化 SQL :-)我们看下问题SQL的问题部分:原创 2014-04-05 16:26:33 · 4252 阅读 · 0 评论 -
MySQL SQL优化:SQL爬虫翻页优化
赶着这几天有些时间,把前段时间优化的几条SQL经验分享并总结下,以飨来者。第一个要分享的是对MyISAM优化limit分页。背景来自公司某个业务系统提供给爬虫抓取数据,MySQL版本是5.1,引擎为MyISAM,原始SQL内容大致如下:注:为避免敏感信息,将很多字段变为col,但不影响阅读 :-) SELECT Aa.* , B.col, B.col,原创 2014-04-05 11:55:21 · 2663 阅读 · 0 评论 -
pt-query-digest解析MySQL Binlog日志文件
pt-query-digest解析binlog原创 2013-11-07 16:19:00 · 5264 阅读 · 0 评论 -
MySQL SQL Tuning:Profile定位单条QUERY性能瓶颈
MySQL SQL Tuning:Profile原创 2013-10-03 02:01:48 · 3107 阅读 · 4 评论 -
MySQL SQL Tuning:深入理解Order By
MySQL SQL Tuning原创 2013-10-01 22:49:13 · 2859 阅读 · 3 评论 -
有关 MySQL InnoDB 在索引中自动添加主键的问题
㈠ 原理: 只要用户定义的索引字段中包含了主键中的字段、那么这个字段就不会再被InnoDB自动加到索引中 但如果用户的索引字段中没有完全包含主键字段、InnoDB 就会把剩下的主键字段加到索引末尾 ㈡ 例子 例子一:CREATE TABLE t ( a char(32) not null primary key, b char(32原创 2013-05-06 22:39:08 · 3762 阅读 · 1 评论 -
《Oracle Database 11g & MySQL 5.6开发手册》试读有感
大数据浪潮汹涌袭来、一场新的信息技术革命即将开始。“春江水暖鸭先知”,作为数据库从业人员的我、体会尤为深刻 然而、无论是Oracle的 EXADATA 还是MySQL的Scale Out、或者NoSQL、都有其各自的适用场景、没有优劣之分 数据的大集中还是大分布、这取决于公司的财务、技术支持、氛围、需求等等、 看下2013年4月份各数据库在市场的占用率: 其次谈谈Oracle收购MySQL、很多原创 2013-05-06 11:33:38 · 2344 阅读 · 0 评论 -
MySQL分区之分区概述
环境:mysql> select version();+-----------+| version() |+-----------+| 5.5.28 |+-----------+1 row in set (0.00 sec) 分区是一种表的设计模式 分区,分而治之,其重点在于高可用(管理),而附属价值才是性能的提高原创 2012-12-03 21:27:18 · 2093 阅读 · 0 评论 -
复合索引的列顺序判断
复合索引最令人困惑的当属索引列的顺序,不仅依赖于使用该索引的查询,更需考虑排序和分组。前段时候我发了个帖子:where条件顺序和复合索引字段顺序。感兴趣的朋友不妨参与讨论。今天我提个自己的观点。在应用开发阶段,【选择性】是我们首要考虑因素,请看简图:当出现sql性能问题时,你可能需要注意以下几个:1. 随机IO2. 排序(order by)3. 分组(group by or distinct)这时原创 2014-04-27 19:04:44 · 12327 阅读 · 1 评论