面试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的性能状况:最后 ...
随机推荐
- ADO POST时出现“无法为更新定位行,一些值可能已在最后一次读取后已更改”问题的解决方法
原因有这样几种: 1.在数据库设计时,为某些字段设置了默认值,在修改进行提交以后,数据库会自动修改对应字段的所有行的默认值,从而导致了数据库与数据集中数据的不一致,使ADOQuery无法对数据集进行定 ...
- 【bzoj1068】【SCOI2007】压缩
一道区间dp f[i][j][0/1]表示[i,j]区间是否加入M,并且之前一位有M的最小长度 可以理解为在第一位之前有一个M 那么就可以转移了. #include<bits/stdc++.h& ...
- 2017中国大学生程序设计竞赛 - 网络选拔赛 HDU 6156 数位DP
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6156 题意:如题. 解法:数位DP,暴力枚举进制之后,就转化成了求L,R区间的回文数的个数,这个直接做 ...
- [caffe error] undefined reference to `inflateValidate@ZLIB_1.2.9'
undefined reference to `inflateValidate@ZLIB_1.2.9' Makefile.config添加一行LINKFLAGS := -Wl,-rpath,$(HOM ...
- ServerSocket和Socket通信
服务器端: 1.服务器端建立通信ServerSocket对象,并设置端口号 2.服务器建立Socket接收客户端连接 3.建立IO输入流读取客户端发送的数据 4.建立IO输出流向客户端输出数据 客户端 ...
- 后台传入的boolean类型到前台alert为String类型了(解决方法)
后台代码: // 进入仪器list界面之前查看 是否是科研处人员 SessionContainer sc = (SessionContainer) session.getAttribut ...
- django中使用第三方包实现定时任务
# 转载请留言联系 在做主页静态化的时候,需要定时生成主页HTML,以保持数据的最新. 定时任务可以用第三方包django-crontab来实现. 附上官方文档:https://pypi.org/pr ...
- Html Css 练习
一. 取消a链接的下划线 <!DOCTYPE html> <html lang="en"> <head> <meta charset=& ...
- Eclipse中部署ES源码运行
https://stackoverflow.com/questions/40924671/how-to-build-elasticsearch-source-code-using-gradle Gra ...
- [].forEach.call($$("*"),function(a){ a.style.outline="1px solid #"+(~~(Math.random()*(1<<24))).toString(16) })
问问你自己,看得懂这行代码吗?要是看不懂就点击进来看看吧,要是看的懂得话,可以绕路 1.call:call(thisObj,arg1,arg2,arg3) [].forEach.call($$(&qu ...