面试DB优化
|
高频全表扫描 |
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优化的更多相关文章
- Python面试-DB相关
昨日回顾: 面试 Python综述 设计哲学 版本变迁及发展 GIL 内存管理及垃圾回收 并发并行 昨日作业一:Python是否存在内存泄露 作业二:过往的项目中有没有出现过性能问题? 作业三:什么是 ...
- 海量数据挖掘--DB优化篇
上一篇博客我们介绍了针对大数据量的处理,我们应该对程序做什么样的处理,但是一个程序的优化是有底线的,我们要考虑人力,物力,程序的优化是海量数据处理的一部分,这里介绍我们的重头戏,对数据库的优化! 这里 ...
- 关于面试mysql优化的几点纪要
1.减少查询次数 ,如何减少 ? 2. 表结构优化,如何优化 ? 3. 列选取原则 ? 4.建索引原则 ? 5.mysql语句优化 ? 6.增加mysql处理性能 ? 通过这几点, 再来说 ...
- PHP 面试服务器优化和大数据
服务器配置优化 系统参数调整 Linux 系统内核参数优化 vim /etc/sysctl.conf net.ipv4.ip_local_port_range = 1024 65535 # 用户端口范 ...
- MySQL db优化
http://blog.csdn.net/likika2012/article/details/38816037 http://www.nowamagic.net/librarys/veda/deta ...
- Oracle DB优化
http://www.jb51.net/article/77876.htm http://www.jb51.net/article/56881.htm http://danni505.blog.51c ...
- (转载)一张表搞清楚西门子S7系列标准DB块与优化DB块
在TIA Portal中为S7-1200/S7-1500 CPU 添加一个 DB 块时,其缺省属性为优化的 DB ,优化的 DB 块与标准的 DB 块整体对比如下表所示: 项 标准 DB 优化 DB ...
- Sql Server优化之索引提示----我们为什么需要查询提示,Sql Server默认情况下优化策略选择的不足
环境: Sql Server2012 SP3企业版,Windows Server2008 标准版 问题由来: 最近在做DB优化的时候,发现一个存储过程有非常严重的性能问题, 由于整个SP整体逻辑是一个 ...
- Dynamic CRM 2013学习笔记(七)追踪、监控及性能优化
本文将介绍CRM的三个内容追踪.监控及性能优化.追踪是CRM里一个很有用的功能,它能为我们的CRM调试或解决错误.警告提供有价值的信息:我们可以用window的性能监控工具来了解CRM的性能状况:最后 ...
随机推荐
- Redis 主从部署
Redis 主从部署 http://www.xuchanggang.cn/archives/978.html
- 【bzoj4551】TJOI2016&HEOI2016树
这题嘛…… 子树询问什么的,直接dfs序线段树无脑写,是吧…… 然后几分钟之内zcy就写出了这样的东西: #include<bits/stdc++.h> #define N 100005 ...
- A Tutorial on Network Embeddings
A Tutorial on Network Embeddings paper:https://arxiv.org/abs/1808.02590 NE 的中心思想就是找到一种映射函数,该函数将网络中 ...
- Redis -- 数据类型小结
redis key 的命名规则: 对象类型:对象id:对象属性 (hset car:1: price 500.hset car:1: name:tom) 一.redis 数据类型: 1. 字符串类型 ...
- linux命令(41):watch命令
watch是一个非常实用的命令,基本所有的Linux发行版都带有这个小工具,如同名字一样,watch可以帮你监测一个命令的运行结果,省得你一遍遍的手动运行.在Linux下,watch是周期性的执行下个 ...
- linux系统下部署war包
http://blog.csdn.net/hellowangchaochao/article/details/73223773
- hdu 1044(bfs+dfs+剪枝)
Collect More Jewels Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Othe ...
- Bootstrap Div 居中的方法
有两个DIV,DIV2被包含在DIV1中.格式如下: <div id="div1"> <div id="div2"> & ...
- CentOS7.5删除旧的内核
[root@localhost ~]# uname -r3.10.0-862.3.2.el7.x86_64 [root@localhost ~]# rpm -qa | grep kernelkerne ...
- hdu 5576 dp
题目大意:给你一个长度为 n 的 字符串表示一个乘法,一次操作随机选两个字符进行交换,进行m次操作,让你求出所有可能操作 的答案和. (1 <= n, m <= 50) 思路:巨难.. ...