最全MySQL面试60题(含答案):存储引擎+数据库锁+索引+SQL优化等
Mysql中有哪几种锁? MyISAM支持表锁,InnoDB支持表锁和行锁,默认为行锁 表级锁:开销小,加锁快,不会出现死锁。锁定粒度大,发生锁冲突的概率最高,并发量最低 行级锁:开销大,加锁慢,会出现死锁。锁力度小,发生锁冲突的概率小,并发度最高 Mysql中有哪些不同的表格? 共有...
82. 面试中被问到SQL优化,看这篇就对了
82. 面试中被问到SQL优化,看这篇就对了前言本文主要针对的是关系型数据数据库MySql。键值类数据库可以参考:https://www.jianshu.com/p/098a870d83e4先简单梳理下Mysql的基本概念,然后分创建时和查询时这两个阶段的优化展开。1 基本概念简述1.1 逻辑架构第...
软件测试mysql面试题:如何进行SQL优化?
如何进行SQL优化?(1)选择正确的存储引擎以 MySQL为例,包括有两个存储引擎 MyISAM 和 InnoDB,每个引擎都有利有弊。MyISAM 适合于一些需要大量查询的应用,但其对于有大量写操作并不是很好。甚至你只是需要update一个字段,整个表都会被锁起来,而别的进程...
带你学MySQL系列 | “数据分析师”面试最怕被问到的SQL优化问题(下)(七)
再观看下面这个案例:# 删除单独的索引 drop index authorid_index on book; drop index typeid_index on book; # 创建一个复合索引 alter table book add index idx_book_at (authorid,ty...
带你学MySQL系列 | “数据分析师”面试最怕被问到的SQL优化问题(下)(六)
② 优化2:使用了in有时候会导致索引失效,基于此有了如下一种优化思路。将in字段放在最后面。需要注意一点:每次创建新的索引的时候,最好是删除以前的废弃索引,否则有时候会产生干扰(索引之间)。# 删除以前的索引 drop index typeid_authorid_bid on book; # 再次...
带你学MySQL系列 | “数据分析师”面试最怕被问到的SQL优化问题(下)(五)
⑤ using where表示需要【回表查询】,表示既在索引中进行了查询,又回到了源表进行了查询。# 删除test02中的复合索引idx_a1_a2 drop index idx_a1_a2 on test02; # 将a1字段,新增为一个索引 create index a1_index on te...
带你学MySQL系列 | “数据分析师”面试最怕被问到的SQL优化问题(下)(四)
8)extra表示其他的一些说明,也非常有用,通过这个关键字也可以很好的说明,你写的SQL语句到底好不好。① using filesort:针对单索引的情况当出现了这个词,表示你当前的SQL性能消耗较大。表示进行了一次额外的排序。常见于order by语句中。Ⅰ 什么是“额外”的排序?为了讲清楚这个...
带你学MySQL系列 | “数据分析师”面试最怕被问到的SQL优化问题(下)(三)
4)possible_keys和keypossible_keys可能用到的索引。是一种预测,不准。了解一下就好。key指的是实际使用的索引。# 先给course表的cname字段,添加一个索引 create index cname_index on course(cname); # 查看执行计划 e...
带你学MySQL系列 | “数据分析师”面试最怕被问到的SQL优化问题(下)(二)
④ derived:衍生查询(用到了临时表)a.在from子查询中,只有一张表; b.在from子查询中,如果table1 union table2,则table1就是derived表; explain select cr.cname from ( select * from cours...
带你学MySQL系列 | “数据分析师”面试最怕被问到的SQL优化问题(下)(一)
本文大纲前面我已经带着大家学习了本文的第1-4个部分,今天就带大家学习这剩下的5-8个部分。MySQL优化问题对于新手学习,一般是个难题!我的教程自认为已经是很通俗易懂的。如果你学习了这个教程后,仍然不太理解,可以去B站找到一个视频浏览一遍,然后再回头看我的文章。讲解使用的数据源在上篇最后,我们已经...
本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。
社区圈子