【八股】MySQL

面试题

知道什么是覆盖索引吗?

覆盖索引是指,查询使用的索引,需要返回的列,在该索引的叶子节点中已经能够全部找到。
简单的来说,覆盖索引就是查询索引后,已经得到了所需字段的信息,不需要回表查询。
引生出的两个小问题:

  1. 用id查询,就能直接走聚簇索引,只需要一次索引扫描,就能得到需要的数据,性能高
  2. 如果返回的列中没包含所有需要的列,就有可能会触发回表查询,所以尽量避免使用select *

MySQL超大分页怎么处理?

问题:
数据量比较大时,limit分页查询,需要对数据进行排序,效率低。
比如说limit 9000000, 10, 此时MySql需要排序前9000010记录,但只返回最后10条记录,其他记录丢弃,排序的代价很大。

优化思路:

select * from tb_sku limit 9000000, 10;
select * from tb_sku t, (select id from tb_sku order by id limit 9000000, 10) a
where t.id = a.id;

索引创建的原则

一般来讲,就是表中的数据超过10万以上,才会创建索引。
1.数据量较大,且查询比较频繁的
2.常作为where,order by,limit的字段
3.尽量使用联合索引
4.如果一个字段的内容较长,也可以用前缀索引
5.要控制索引的数量,因为添加索引会导致增删改的速度变慢

什么情况下索引会失效?

1.用到复合索引(联合索引)时,违反最左前缀法则
2.范围查询右边的列,不能使用索引
3.在索引列上进行运算操作,索引将失效
4.字符串不加单引号,会类型转换,造成索引失效
5.以%开头的like模糊查询,会造成索引失效

谈一谈你对sql优化的经验

1.表的设计优化(参考阿里的开发手册)
2.索引优化,创建索引原则
3.sql语句优化,避免使用select *,避免索引失效…
4.主动复制,读写分离。目的是不让数据的写入影响读操作
5.分库分表

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/812571.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何准备2024年汉字小达人:18道历年考题示例和解析、备考提醒

现在距离2024年第11届汉字小达人比赛还有六个多月的时间,如何利用这段时间有条不紊地备考呢?我的建议是两手准备:①把小学1-5年级的语文课本上的知识点熟悉,重点是字、词、成语、古诗。阅读理解不需要。②把历年真题刷刷熟&#x…

linux如何使 CPU使用率保持在指定百分比?

目录 方法1:(固定在100%) 方法2:(可以指定0~100%) 方法3:使用ChaosBlade工具(0~100%) 方法1:(固定在100%) for i in seq 1 $(cat /pro…

工具01-禅道

禅道使用 禅道介绍禅道核心管理思想-敏捷方法scrum禅道功能 禅道使用 禅道介绍 禅道核心管理思想-敏捷方法scrum 理解:快速迭代,持续交付可以工作的软件项目。 禅道功能 有研发项目管理、内置需求管理、任务管理、测试用例管理、缺陷管理、计划发布等…

vscode常用插件

1. chinese(汉化编译器) chinese插件适用于 VS Code 的中文(简体)语言包,此中文(简体)语言包为 VS Code 提供本地化界面。 2、vetur(vue 2开发必备)volar(vu…

Redis深入解析:HyperLogLog、Bitmap和Geospatial的奇妙应用

本文深入探讨了Redis数据库中的三种特殊数据类型:HyperLogLog、Bitmap和Geospatial。 HyperLogLog用于高效估算集合基数,牺牲小部分准确度以节省空间Bitmap提供位操作,适用于二元数据的高效记录与查询Geospatial处理地理位置数据&#xff0c…

【Jenkins】Jenkins自动化工具介绍

目录 技术背景常规的手动打包步骤 Jenkins简介起源与发展Jenkins的核心价值1.自动化1.1代码构建1.2测试自动化1.3自动部署 2.持续集成与持续部署CI/CD的概念如何减少集成问题更快速地发布软件版本 Jenkins优势Jenkins的主要竞争对手Travis CI:CircleCI:GitLab CI: Jenkins与其他…

SpringBoot之集成Redis

SpringBoot之集成Redis 一、Redis集成简介二、集成步骤2.1 添加依赖2.2 添加配置2.3 项目中使用 三、工具类封装四、序列化 (正常都需要自定义序列化)五、分布式锁(一)RedisTemplate 去实现场景一:单体应用场景二&…

vim卡死了,没有反应怎么办?

解决办法: 很有可能是你有个在window下的好习惯,没事儿就ctrl s保存文件。但是在vim里,ctrl s默认是发送一种流控制信号,通常用于停止终端的输出,所以你的屏幕就卡死了。 解决办法也很简单,按下ctrl q即…

NJU PA0

NJU PA0 使用教程提供的源再进行sudo apt install … 可能会出现 Unmet dependencies 此类报错 可以安装 aptitude sudo apt install aptitude sudo aptitude install <package>然后它会提示你&#xff0c;选 n 进行降级。再选 Y 确认 或者 将 /etc/apt/sources.list 下…

一步一步写线程之八线程池的完善之三任务的封装

一、线程池中的任务 在前面的线程池操作中&#xff0c;任务只是通过std::function来实现。从实际的出发需求来说&#xff0c;基本上一般的线程任务使用其实已经够用。但在实际情况中&#xff0c;可能会遇到一些情况&#xff0c;比如不支持c11&#xff0c;或者为了某种目的无法…

【c++】优先级队列|反向迭代器(vector|list)

优先级队列的常用函数的使用 #include<iostream> #include<queue> using namespace std;int main() {priority_queue<int>st;st.push(1);st.push(7);st.push(5);st.push(2);st.push(3);st.push(9);while (!st.empty()){cout << st.top() << &qu…

UDP简单总结

UDP&#xff1a;用户数据报协议 特点: 无连接、不可靠通信 不事先建立连接&#xff0c;数据按照包发&#xff0c;一包数据包含&#xff1a;自己的IP、程序端口、目的地IP、程序端口和数据(限制在64KB内) 发送方不管对方是否在线&#xff0c;数据在中间丢失也不管&#xff0c;…

SpringBoot与MyBatisPlus的依赖版本冲突问题

记录使用SpringBoot和MyBatisPlus时遇到的版本冲突问题解决。 java版本&#xff1a;jdk17 废话&#xff1a;&#xff09;目前在IDEA中使用Spring官方的脚手架最低jdk版本竟然是jdk17了。 当使用SpringBoot3.0版本(3.2.4)&#xff0c;配合使用MP3.5.2版本时报错&#xff1a; Er…

对于所有对象都通用的方法⭐良好习惯总结

对于所有对象都通用的方法⭐良好习惯总结 Object是每个类的父类&#xff0c;它提供一些非final方法&#xff1a;equals、hashCode、clone、toString、finalize... 这些方法在设计上是可以被子类重写的&#xff0c;但是重写前需要遵守相关的规定&#xff0c;否则在使用时就可能…

应用实战|从头开始开发记账本2:基于模板快速开始

上期视频我们创建好了BaaS服务的后端应用。从这期视频开始&#xff0c;我们将从头开发一个互联网记账本应用。本期视频我们介绍一下如何使用模板快速开启我们的应用开发之旅。 应用实战&#xff5c;从头开始开发记账本2&#xff1a;基于模板快速开始 相关代码 本期视频我们介绍…

RestTemplate—微服务远程调用—案例解析

简介&#xff1a;总结来说&#xff0c;微服务之间的调用方式有多种&#xff0c;选择哪种方式取决于具体的业务需求、技术栈和架构设计。RESTful API和HTTP客户端是常见的选择&#xff0c;而Feign和Ribbon等辅助库可以简化调用过程。RPC和消息队列适用于特定的场景&#xff0c;如…

《由浅入深学习SAP财务》:第2章 总账模块 - 2.6 定期处理 - 2.6.4 月末操作:货币折算

2.6.4 月末操作&#xff1a;货币折算 如果一个公司代码启用了多个本位币&#xff0c;如下表所示&#xff0c;则在平时记账时&#xff0c;系统会在凭证行项目中同时体现出多个本位币的金额。 图2.6.4-1 两个本位币的金额都会实时更新到科目余额中。因此&#xff0c;在月末可以直…

pycharm2024关闭项目后一直显示正在关闭项目

网上的很多教程都试了不行&#xff0c;直接用下面的方法有效解决。 点击 帮助--查找操作--输入Registry--点注册表&#xff0c;取消ide.await.scope.completion后的勾选即可。

武汉星起航:跨境电商势头强劲,开启外贸增长新纪元

在全球化浪潮的推动下&#xff0c;跨境电商作为新兴贸易方式&#xff0c;正以前所未有的速度崛起。2024年前两个月&#xff0c;跨境电商进出口增长近10%&#xff0c;这一令人瞩目的数据&#xff0c;不仅彰显出跨境电商的强劲发展势头&#xff0c;更预示着其作为外贸新增长极的潜…

直接扩展到无限长,谷歌Infini-Transformer终结上下文长度之争

ChatGPT狂飙160天&#xff0c;世界已经不是之前的样子。 新建了免费的人工智能中文站https://ai.weoknow.com 新建了收费的人工智能中文站https://ai.hzytsoft.cn/ 更多资源欢迎关注 不知 Gemini 1.5 Pro 是否用到了这项技术。 谷歌又放大招了&#xff0c;发布下一代 Transfor…