随笔分类 - SQL
摘要: GROUP BY Optimization 常规的匹配group by(分组)操作子句是扫整表并且创建包含连续的分组行的临时表, 利用临时表得到group数据,运用appregate functions(聚合函数)(有的话)。有些情况下,MYSQL
阅读全文
摘要:始于 2017年4月1日 愚人节 1.1 MySQL 5.7 新功能 本章节介绍了MySQL 5.7 新版本中新增、废弃、删除的功能。 在1.5章节 Section 1.5, “Server and Status Variables and Options Added, Deprecated, or
阅读全文
摘要:1.14Group By Optimization 分组优化 大多数方法为了满足分组查询需要扫描整个表并且创建一个临时表,其中每组中的值都是连续的,如果可以使用聚合函数和临时表获取各个分组。在某些情况下,mysql能够通过使用索引方法从而避免创建临时表来提高查询效率。 在group by中使用索引的
阅读全文
摘要:8.2 sql语句优化 大致内容如下: 8.2.1:SELECT语句的优化 8.2.2:优化子查询,派生表和试图引用 8.2.3:优化INFORMATION_SCHEMA查询 8.2.4:优化数据改变语句 8.2.5:优化数据库权限 8.2.6:其他优化建议 数据库应用的核心逻辑是完成sql语句的执
阅读全文
摘要:遇到一个SQL执行很慢 SQL 如下: SELECT ... FROM tableA WHERE time >= 1492044535 and time <= 1492046335 GROUP by time, sourceName, serverSite,clientSite; SEL
阅读全文
摘要:使用MAX 函数和 GROUP 的时候会有不可预料的数据被SELECT 出来。下面举个简单的例子:想知道每个SCOREID 的 数学成绩最高的分数。表信息:/ DDL Information For test.lkscore / Table Create Tabl
阅读全文
摘要:原join 连接语句 SELECT SUM(video_flowers.number) AS num, video_flowers.flower_id, flowers.title, flowers.image FROM JOIN ON .`flower_id flowers id` JOIN ON
阅读全文
摘要: 对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引: 尝试下面的技巧以避免优化器错选了表扫描: 使用ANALYZE TABLE tbl_n
阅读全文
摘要:看到一篇非常全面的SQL优化文章,在开发的工作中往往不考虑性能上的缺失(在一开始的时候数据量不大也看不出速度上的区别)。但写的越多越应该规范一下写法。 原文链接:http://www.jfox.info/SQL you hua.html By Lee Last up
阅读全文
摘要:full index scan:全索引扫描,查询时,遍历索引树来获取数据行。如果数据不是密集的会产生随机IO 在执行计划中是Type列,index full table scan:通过读物理表获取数据,顺序读磁盘上的文件。这种情况会顺序读磁盘上的文件。 在执行计划中是Type列,all coveri
阅读全文
摘要:在以下几种条件下,MySQL就会做全表扫描: 1>数据表是在太小了,做一次全表扫描比做索引键的查找来得快多了。当表的记录总数小于10且记录长度比较短时通常这么做。 2>没有合适用于 ON 或 WHERE 分句的索引字段。 3>让索引字段和常量值比较,MySQL已经计算(基于索引树)
阅读全文
摘要:慢查询 首先,无论进行何种优化,开启慢查询都算是前置条件。慢查询机制,将记录过慢的查询语句(事件),从而为DB维护人员提供优化目标。 检查慢查询是否开启 通过show variables like 'slow_query_log'这条语句,可以找到慢查询的状态(On/Off)。 开启慢查询 本文使用
阅读全文
摘要:程序员的成长之路 2016 11 23 22:42 Mysql优化之优化工具profiling 前言 mysql优化技术: mysql优化不是做一个操作就可以的优化,它包含很多的细节,需要一点一点的优化,最后这个性能提升会很高 . 引申 假设有这样的需求: 网站现在很慢 ? 项目里面有很多的sql
阅读全文
摘要:where 1=1; 这个条件始终为True,在不定数量查询条件情况下,1=1可以很方便的规范语句。 一、不用where 1=1 在多条件查询中的困扰 举个例子,如果您做查询页面,并且,可查询的选项有多个,同时,还让用户自行选择并输入查询关键
阅读全文
摘要:SQL优化是一个复杂的工程,首先要讲究从整体到局部。今天我们首先学习关于数据库整体优化都有哪些性能工具,接着分析这些工具的特点,并结合案例进行探索,最后再进行总结和思考。 总体学习思路如下图所示: 都有哪些性能工具 这里首先要分成两部分:一种是不同调优场景的分析,可分为单纯场景的优化和复杂场景的优化
阅读全文
摘要:GROUP BY 和 ORDER BY一起使用 写程序也有很长的一段时间了,有些东西我总不曾去思考,很少去积累一些有用的东西,总喜欢“用要即拿”的心态来对待,这是非常不好的坏习惯。这样只会造成依赖心太强,每当遇到一些小小的问题都需要去翻资料。就好像今天写一条查询语句的时候
阅读全文
摘要:最近慢慢接触MySQL,了解如何优化它也迫在眉睫了,话说工欲善其事,必先利其器。最近我就打算了解下几个优化MySQL中经常用到的工具。今天就简单介绍下EXPLAIN。 内容导航 id select_type table type possible_keys key key_len ref rows
阅读全文
摘要:Mysql Explain 详解一.语法explain < table_name >例如: explain select from t3 where id=3952602;二.explain输出解释+ + + + + + + + + + +| id | select_type | tab
阅读全文
摘要:先看一段sql: [sql] view plain copy print?<span style="font size:18px;">SELECT FROM &
阅读全文
摘要:using filesort 一般出现在 使用了 order by 语句当中。 using filesort不一定引起mysql的性能问题。但是如果查询次数非常多,那么每次在mysql中进行排序,还是会有影响的。 这里的优化方式是在order by 的字段建立索引,例如 语句: SELECT FRO
阅读全文