sql优化器会重写sql sql在执行时,并不一定就会按照我们写的顺序执行,mysql优化器会重写sql,如何才能看到sql优化器重写后的sql呢?这就要用到explain extended和show warnings了。 explain extended sql语句,然后show warnings ...
分类:
数据库 时间:
2020-06-11 19:43:19
阅读次数:
114
前几天统计一个sql,是一个人提交了多少工单,顺便做了相关sql优化。数据大概2000多w。 select CustName,count(1) c from WorkOrder where CreateDate>'2016-5-1' and CreateDate<'2017-1-1'group by ...
分类:
数据库 时间:
2020-06-10 21:33:41
阅读次数:
70
MySQL性能 最大数据量 抛开数据量和并发数,谈性能都是耍流氓。MySQL没有限制单表最大记录数,它取决于操作系统对文件大小的限制。 《阿里巴巴Java开发手册》提出单表行数超过500万行或者单表容量超过2GB,才推荐分库分表。性能由综合因素决定,抛开业务复杂度,影响程度依次是硬件配置、MySQL ...
分类:
数据库 时间:
2020-06-10 11:29:44
阅读次数:
76
一、概述 执行计划:一条查询语句在ORACLE中的执行过程或访问路径的描述,即就是对一个查询任务,做出一份怎样去完成任务的详细方案。 如果要分析某条SQL的性能问题,通常我们要先看SQL的执行计划,看看SQL的每一步执行是否存在问题。 看懂执行计划也就成了SQL优化的先决条件。 通过执行计划定位性能 ...
分类:
数据库 时间:
2020-06-05 14:43:02
阅读次数:
85
业务反应某sql执行慢,影响部分业务。通过v$session视图获取会话当前的sql_id,在通过v$sql_bind_capture或dba_hist_sqlbind等视图获取该sql绑定变量的值。 设置会话级别参数(执行计划详细信息):ALTER SESSION SET statistics_l ...
分类:
数据库 时间:
2020-06-01 13:53:02
阅读次数:
88
SQL优化 – 写SQL语句用大写字母: 因为Oracle总是先解析SQL语句,把小写的字母转换成大写字母再执行。 – 尽量不要使用SELECT * 查询: 数据库在解析的过程中会将 * 依次转换成所有的列名,这个工作是通过查询数据字典完成的,这意味着将耗费更多的时间。 – 用 >= 替代 >: 高 ...
分类:
数据库 时间:
2020-05-31 21:45:33
阅读次数:
107
领导让我SQL优化,我直接把服务干挂了... 前言 MySQL大表加字段或者加索引,是有一定风险的。 大公司一般有DBA,会帮助开发解决这个痛点,可是DBA是怎么做的呢? 小公司没有DBA,作为开发我们的责任就更大了。那么我们怎么才能安全的加个索引呢? 今天,我们通过模拟案例以及原理分析,去弄清楚M ...
分类:
其他好文 时间:
2020-05-30 14:14:42
阅读次数:
53
最近公司启动一个新项目,开始陆陆续续的招人,我又不幸的被部门大佬拉去做初试面试官,就是之前《面试官:不会看 Explain执行计划,简历敢写 SQL 优化?》里提到的大牛,总扎我心的那位。 其实跟这种牛X的人在一起工作,并不快乐反而会很累,不过真的能学到东西。和他们在一起工作,自己总有种感觉:“「这 ...
分类:
其他好文 时间:
2020-05-30 10:50:35
阅读次数:
93
查询统计图表的日期和数量,使用group by 分组查询: Select CONVERT(nvarchar(11),UpdateTime,120),count(1) from Log where UpdateTime >'2020-05-01' and UpdateTime < '2020-05-2 ...
分类:
数据库 时间:
2020-05-26 01:02:21
阅读次数:
143
由于工作需要,最近做了很多 BI 取数的工作,需要用到一些比较高级的 SQL 技巧,总结了一下工作中用到的一些比较骚的进阶技巧,特此记录一下,以方便自己查阅,主要目录如下: SQL 的书写规范 SQL 的一些进阶使用技巧 SQL 的优化方法 SQL 的书写规范 在介绍一些技巧之前,有必要强调一下规范 ...
分类:
数据库 时间:
2020-05-25 09:39:32
阅读次数:
111