数据库面试题【十五、优化查询过程中的数据访问】
访问数据太多导致查询性能下降
确定应用程序是否在检索大量超过需要的数据,可能是太多行或列
确认MySQL服务器是否在分析大量不必要的数据行
避免犯如下SQL语句错误
查询不需要的数据。解决办法:使用limit解决
多表关联返回全部列。解决办法:指定列名
总是返回全部列。解决办法:避免使用SELECT *
重复查询相同的数据。解决办法:可以缓存数据,下次直接读取缓存
是否在扫描额外的记录。解决办法:
使用explain进行分析,如果发现查询需要扫描大量的数据,但只返回少数的行,可以通过如下技巧去优化:
使用索引覆盖扫描,把所有的列都放到索引中,这样存储引擎不需要回表获取对应行就可以返回结果。
改变数据库和表的结构,修改数据表范式
重写SQL语句,让优化器可以以更优的方式执行查询。
数据库面试题【十五、优化查询过程中的数据访问】相关推荐
- 十步优化SQL Server中的数据访问
故事开篇:你和你的团队经过不懈努力,终于使网站成功上线,刚开始时,注册用户较少,网站性能表现不错,但随着注册用户的增多,访问速度开始变慢,一些用户开始发来邮件表示抗议,事情变得越来越糟,为了留住用户, ...
- 数据库面试题【五、索引的优缺点,什么时候使用索引,什么时候不能使用索引】
索引最大的好处是提高查询速度, 缺点是更新数据时效率低,因为要同时更新索引 对数据进行频繁查询进建立索引,如果要频繁更改数据不建议使用索引.
- (转)SQLServer_十步优化SQL Server中的数据访问 三
原文地址:http://tech.it168.com/a2009/1125/814/000000814758_all.shtml 第六步:应用高级索引 实施计算列并在这些列上创建索引 你可能曾经写过从 ...
- java 所有的数据集合_第五节:Java中常用数据集合
List public interface Listextends Collection 有序的 collection(也称为序列),允许重复的元素. 常用实现类: ArrayList: 底层使用的是 ...
- MySQL数据库面试题(超详细)
一.数据库基础知识 为什么要使用数据库 数据保存在内存 优点: 存取速度快 缺点: 数据不能永久保存 数据保存在文件 优点: 数据永久保存 缺点:1)速度比内存操作慢,频繁的IO操作. 2)查询数据不 ...
- MySQL数据库面试题(2021最新版)
文章目录:http://github.crmeb.net/u/defu 数据库基础知识 为什么要使用数据库 什么是SQL? 什么是MySQL? 数据库三大范式是什么 mysql有关权限的表都有哪几个 ...
- 2021最新MySQL数据库面试题
为什么要使用数据库 数据保存在内存 优点: 存取速度快 缺点: 数据不能永久保存 数据保存在文件 优点: 数据永久保存 缺点:1)速度比内存操作慢,频繁的IO操作.2)查询数据不方便 数据保存在数据库 ...
- 六、MySQL数据库面试题(2021最新版)20210907
数据库基础知识 为什么要使用数据库 数据保存在内存 优点: 存取速度快 缺点: 数据不能永久保存 数据保存在文件 优点: 数据永久保存 缺点:1)速度比内存操作慢,频繁的IO操作.2)查询数据不方便 ...
- 2020最新MySQL数据库面试题( MySQL引索系统+MySQL数据架构+红黑树结构图+B+树)
视频参考一线互联网大佬一堂课教会你那些年,你未曾了解的MySQL索引优化 [建议收藏] '阿里高级架构师一个视频教会你MySql 各大知识点MySQL系列/ MySQL引索系统/MySQL数据架构/红 ...
最新文章
- 第三次学JAVA再学不好就吃翔(part30)--继承
- LeetCode 1660. 纠正二叉树(BFS)
- vim 编辑演示_改变我生活的7个Vim技巧(含演示)
- 前端http请求跨域问题解决
- 微投抖的1080_1080P不到三千元 微投价格战竟如此激烈
- php 自动处理小图的代码,php对图像的各种处理函数代码小结
- java笔记之过滤器
- shell命令 安装软件包
- QT的QWebEngineView内存泄漏
- 【数学建模】模糊综合评价模型
- 彻底关闭360安全卫士弹窗广告方法
- androidx指纹验证
- css如何去掉图片里面存在的背景色
- AppStore 技术服务支持
- NVME Reset
- unity 入门二 :射击
- Mysql培训第二天
- Bzoj1502【NOI2005】月下柠檬树
- 快速将Word(office)中的公式转化成Latex
- Day23JavaSE——多线程实现