高频全表扫描

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分。

面试DB优化的更多相关文章

  1. Python面试-DB相关

    昨日回顾: 面试 Python综述 设计哲学 版本变迁及发展 GIL 内存管理及垃圾回收 并发并行 昨日作业一:Python是否存在内存泄露 作业二:过往的项目中有没有出现过性能问题? 作业三:什么是 ...

  2. 海量数据挖掘--DB优化篇

    上一篇博客我们介绍了针对大数据量的处理,我们应该对程序做什么样的处理,但是一个程序的优化是有底线的,我们要考虑人力,物力,程序的优化是海量数据处理的一部分,这里介绍我们的重头戏,对数据库的优化! 这里 ...

  3. 关于面试mysql优化的几点纪要

    1.减少查询次数 ,如何减少 ?  2. 表结构优化,如何优化 ? 3. 列选取原则  ? 4.建索引原则   ? 5.mysql语句优化 ?   6.增加mysql处理性能 ? 通过这几点, 再来说 ...

  4. PHP 面试服务器优化和大数据

    服务器配置优化 系统参数调整 Linux 系统内核参数优化 vim /etc/sysctl.conf net.ipv4.ip_local_port_range = 1024 65535 # 用户端口范 ...

  5. MySQL db优化

    http://blog.csdn.net/likika2012/article/details/38816037 http://www.nowamagic.net/librarys/veda/deta ...

  6. Oracle DB优化

    http://www.jb51.net/article/77876.htm http://www.jb51.net/article/56881.htm http://danni505.blog.51c ...

  7. (转载)一张表搞清楚西门子S7系列标准DB块与优化DB块

    在TIA Portal中为S7-1200/S7-1500 CPU 添加一个 DB 块时,其缺省属性为优化的 DB ,优化的 DB 块与标准的 DB 块整体对比如下表所示: 项 标准 DB 优化 DB ...

  8. Sql Server优化之索引提示----我们为什么需要查询提示,Sql Server默认情况下优化策略选择的不足

    环境: Sql Server2012 SP3企业版,Windows Server2008 标准版 问题由来: 最近在做DB优化的时候,发现一个存储过程有非常严重的性能问题, 由于整个SP整体逻辑是一个 ...

  9. Dynamic CRM 2013学习笔记(七)追踪、监控及性能优化

    本文将介绍CRM的三个内容追踪.监控及性能优化.追踪是CRM里一个很有用的功能,它能为我们的CRM调试或解决错误.警告提供有价值的信息:我们可以用window的性能监控工具来了解CRM的性能状况:最后 ...

随机推荐

  1. Redis 主从部署

    Redis 主从部署 http://www.xuchanggang.cn/archives/978.html

  2. 【bzoj4551】TJOI2016&HEOI2016树

    这题嘛…… 子树询问什么的,直接dfs序线段树无脑写,是吧…… 然后几分钟之内zcy就写出了这样的东西: #include<bits/stdc++.h> #define N 100005 ...

  3. A Tutorial on Network Embeddings

    A Tutorial on Network Embeddings paper:https://arxiv.org/abs/1808.02590   NE 的中心思想就是找到一种映射函数,该函数将网络中 ...

  4. Redis -- 数据类型小结

    redis key 的命名规则: 对象类型:对象id:对象属性  (hset car:1: price 500.hset car:1: name:tom) 一.redis 数据类型: 1. 字符串类型 ...

  5. linux命令(41):watch命令

    watch是一个非常实用的命令,基本所有的Linux发行版都带有这个小工具,如同名字一样,watch可以帮你监测一个命令的运行结果,省得你一遍遍的手动运行.在Linux下,watch是周期性的执行下个 ...

  6. linux系统下部署war包

    http://blog.csdn.net/hellowangchaochao/article/details/73223773

  7. hdu 1044(bfs+dfs+剪枝)

    Collect More Jewels Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Othe ...

  8. Bootstrap Div 居中的方法

    有两个DIV,DIV2被包含在DIV1中.格式如下: <div id="div1"> <div id="div2">         & ...

  9. CentOS7.5删除旧的内核

    [root@localhost ~]# uname -r3.10.0-862.3.2.el7.x86_64 [root@localhost ~]# rpm -qa | grep kernelkerne ...

  10. hdu 5576 dp

    题目大意:给你一个长度为 n 的 字符串表示一个乘法,一次操作随机选两个字符进行交换,进行m次操作,让你求出所有可能操作 的答案和.  (1 <= n, m <= 50) 思路:巨难.. ...