文章 2024-03-04 来自:开发者社区

最全MySQL面试60题(含答案):存储引擎+数据库锁+索引+SQL优化等

  Mysql中有哪几种锁? MyISAM支持表锁,InnoDB支持表锁和行锁,默认为行锁 表级锁:开销小,加锁快,不会出现死锁。锁定粒度大,发生锁冲突的概率最高,并发量最低 行级锁:开销大,加锁慢,会出现死锁。锁力度小,发生锁冲突的概率小,并发度最高 Mysql中有哪些不同的表格? 共有5种类型的表格: MyISAM...

文章 2022-10-17 来自:开发者社区

软件测试mysql面试题:如何进行SQL优化?

如何进行SQL优化?(1)选择正确的存储引擎以 MySQL为例,包括有两个存储引擎 MyISAM 和 InnoDB,每个引擎都有利有弊。MyISAM 适合于一些需要大量查询的应用,但其对于有大量写操作并不是很好。甚至你只是需要update一个字段,整个表都会被锁起来,而别的进程,就算是读进程都无法操作直到读操作完成。另外,MyISAM 对于 SELECT COUNT(*) 这类的计算是超快无比的....

文章 2022-05-31 来自:开发者社区

带你学MySQL系列 | “数据分析师”面试最怕被问到的SQL优化问题(下)(七)

再观看下面这个案例:# 删除单独的索引 drop index authorid_index on book; drop index typeid_index on book; # 创建一个复合索引 alter table book add index idx_book_at (authorid,typeid); # 查看执行计划 explain select * from book where ....

带你学MySQL系列 | “数据分析师”面试最怕被问到的SQL优化问题(下)(七)
文章 2022-05-31 来自:开发者社区

带你学MySQL系列 | “数据分析师”面试最怕被问到的SQL优化问题(下)(六)

② 优化2:使用了in有时候会导致索引失效,基于此有了如下一种优化思路。将in字段放在最后面。需要注意一点:每次创建新的索引的时候,最好是删除以前的废弃索引,否则有时候会产生干扰(索引之间)。# 删除以前的索引 drop index typeid_authorid_bid on book; # 再次创建索引 create index authorid_typeid_bid on book(aut....

带你学MySQL系列 | “数据分析师”面试最怕被问到的SQL优化问题(下)(六)
文章 2022-05-31 来自:开发者社区

带你学MySQL系列 | “数据分析师”面试最怕被问到的SQL优化问题(下)(五)

⑤ using where表示需要【回表查询】,表示既在索引中进行了查询,又回到了源表进行了查询。# 删除test02中的复合索引idx_a1_a2 drop index idx_a1_a2 on test02; # 将a1字段,新增为一个索引 create index a1_index on test02(a1); # 查看执行计划 explain select a1,a3 from test....

带你学MySQL系列 | “数据分析师”面试最怕被问到的SQL优化问题(下)(五)
文章 2022-05-31 来自:开发者社区

带你学MySQL系列 | “数据分析师”面试最怕被问到的SQL优化问题(下)(四)

8)extra表示其他的一些说明,也非常有用,通过这个关键字也可以很好的说明,你写的SQL语句到底好不好。① using filesort:针对单索引的情况当出现了这个词,表示你当前的SQL性能消耗较大。表示进行了一次额外的排序。常见于order by语句中。Ⅰ 什么是“额外”的排序?为了讲清楚这个,我们首先要知道什么是排序。我们为了给某一个字段进行排序的时候,首先你得先查询到这个字段,然后在将....

带你学MySQL系列 | “数据分析师”面试最怕被问到的SQL优化问题(下)(四)
文章 2022-05-31 来自:开发者社区

带你学MySQL系列 | “数据分析师”面试最怕被问到的SQL优化问题(下)(三)

4)possible_keys和keypossible_keys可能用到的索引。是一种预测,不准。了解一下就好。key指的是实际使用的索引。# 先给course表的cname字段,添加一个索引 create index cname_index on course(cname); # 查看执行计划 explain select t.tname ,tc.tcdesc from tea...

带你学MySQL系列 | “数据分析师”面试最怕被问到的SQL优化问题(下)(三)
文章 2022-05-31 来自:开发者社区

带你学MySQL系列 | “数据分析师”面试最怕被问到的SQL优化问题(下)(二)

④ derived:衍生查询(用到了临时表)a.在from子查询中,只有一张表; b.在from子查询中,如果table1 union table2,则table1就是derived表; explain select cr.cname from ( select * from course where tid = 1 union select * from course wh...

带你学MySQL系列 | “数据分析师”面试最怕被问到的SQL优化问题(下)(二)
文章 2022-05-31 来自:开发者社区

带你学MySQL系列 | “数据分析师”面试最怕被问到的SQL优化问题(下)(一)

本文大纲前面我已经带着大家学习了本文的第1-4个部分,今天就带大家学习这剩下的5-8个部分。MySQL优化问题对于新手学习,一般是个难题!我的教程自认为已经是很通俗易懂的。如果你学习了这个教程后,仍然不太理解,可以去B站找到一个视频浏览一遍,然后再回头看我的文章。讲解使用的数据源在上篇最后,我们已经给出了本文需要使用到的数据代码,这里我直接给出这3张表的图示。5. explain执行计划常用关键....

带你学MySQL系列 | “数据分析师”面试最怕被问到的SQL优化问题(下)(一)
文章 2022-05-31 来自:开发者社区

带你学MySQL系列 | “数据分析师”面试最怕被问到的SQL优化问题(上)

本文大纲下图就是本文的大纲图,大家先大致做一个了解。今天讲述的是SQL优化问题的上篇,也就是大纲图的第1-4个部分,剩下的5-8个部分我们在明天的下篇中为大家讲述,尽情期待。1. MySQL的基本架构1)MySQL的基础架构图上面的client可以看成是客户端,就是我们用来链接MySQL服务器,书写SQL语句的窗口。这样的客户端其实有很多,像大家最常使用的CMD黑窗口,像安装MySQL时系统自带....

带你学MySQL系列 | “数据分析师”面试最怕被问到的SQL优化问题(上)

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

产品推荐

相关镜像