博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
面试DB优化
阅读量:5922 次
发布时间:2019-06-19

本文共 799 字,大约阅读时间需要 2 分钟。

高频全表扫描

0.5

表大小超过200M,且SQL高频执行(15分钟内超过500次),PIR 3级,表大小超过高速缓存的1.5%,报PIR 2级。

禁止使用select *

0.5

禁止使用select * ,必须明确选择所需的列,每句SQL扣0.5分。

禁止出现重复查询子句

0.5

可以使用with as替换子句来提升SQL语句执行效率,每句SQL扣0.5分。

索引列函数

0.5

在查询索引列上发生函数调用(函数索引除外),每次扣0.5分。

update禁止出现order by子句

0.5

防止DML过程出现不必要的排序,每句SQL扣0.5分。

update必须出现where子句

1.0

防止DML过程出现全表锁,每句SQL扣1分。

禁止更新主键列值

1.0

不允许有SQL更新主键,每次SQL扣1分。

禁止嵌套select子句

0.5

防止出现select子句的嵌套子查询,避免出现性能问题,每句SQL扣0.5分。

delete必须出现where子句

1.0

防止DML过程出现全表锁,每句SQL扣1分。

delete禁止出现order by子句

1.0

防止DML过程出现不必要的排序,每句SQL扣0.5分。

索引全扫

0.1

执行计划里有INDEX FULL SCAN操作,每次扣0.1分。

索引跳跃

0.2

执行计划里有INDEX SKIP SCAN操作,每次扣0.2分。

全表扫描

0.5

对于大于200M的表全表扫描,执行计划里有TABLE ACCESS FULL操作,每次扣0.5分。

笛卡尔积

1.0

缺少连接条件,导致SQL使用笛卡尔积的方式进行连接,每句SQL扣1分。

嵌套连接过深

1.0

执行计划中嵌套连接深度超过6层,每句SQL扣1分。

绑定变量

0.2

未使用绑定变量的SQL,每句SQL扣0.2分。

隐式转换

0.5

在查询列上发生隐式转换,每次扣0.5分。

转载地址:http://inivx.baihongyu.com/

你可能感兴趣的文章
SpringMVC详解(五)------参数绑定
查看>>
CSS3 渐变(Gradients)
查看>>
jQueryEasyUI Messager基本使用
查看>>
S2-052复现过程(附POC利用)
查看>>
ReactNative踩坑日志——fetch如何向服务器传递参数
查看>>
mdb文件怎么打开
查看>>
虚拟机配置静态 IP 以后无法连接的解决办法
查看>>
讲讲“池”的概念
查看>>
[LeetCode] Non-decreasing Array 非递减数列
查看>>
背水一战 Windows 10 (34) - 控件(进度类): RangeBase, Slider, ProgressBar, ProgressRing
查看>>
解决Linux安装 VMware tools 工具的方法
查看>>
ASP.NET Core:使用Dapper和SwaggerUI来丰富你的系统框架
查看>>
python获取自己的环境变量
查看>>
Do You Kown Asp.Net Core - 根据实体类自动创建Razor Page CURD页面模板
查看>>
TCP/IP(八)之总结TCP/IP四层模型
查看>>
剑指offer十七姊妹篇之二叉树的创建、遍历、判断子二叉树
查看>>
mysql乐观锁总结和实践(二)
查看>>
svn tree confflect
查看>>
Windows 10下Docker使用经验谈
查看>>
Spring Boot(三):RestTemplate提交表单数据的三种方法
查看>>