[size=0.833em]为什么对于非常小的表,大部分情况下简单的全表扫描比创建索引更高效?查询性能优化
[size=0.833em]假如一个表比较小,那么显然直接遍历表比走索引要快(由于需要回表)。
[size=0.833em]注:首先,要注意这个答案隐含的条件是查询的数据不是索引的构成部分,否也不需要回表操纵。其次,查询条件也不是主键,否则可以直接从聚簇索引中拿到数据。
[size=0.833em]explain 用来分析 SELECT 查询语句,开辟人员可以通过分析 Explain 效果来优化查询语句。select_type
[size=0.833em]The possible indexes to choose[size=0.833em]可选择的索引
[size=0.833em]The index actually chosen[size=0.833em]现实使用的索引
[size=0.833em]Estimate of rows to be examined[size=0.833em]扫描的行数
[size=0.833em]The index join type is the same as ALL, except that the index tree is scanned. This occurs two ways:[size=0.833em]触发条件:
[size=0.833em]在 InnoDB 存储引擎中,SELECT 操纵的不可重复读问题通过 MVCC 得到相识决,而 UPDATE、DELETE 的不可重复读问题通过 Record Lock 解决,INSERT 的不可重复读问题是通过 Next-Key Lock(Record Lock + Gap Lock)解决的。锁问题
[size=0.833em]The so-called phantom problem occurs within a transaction when the same query produces different sets of rows at different times. For example, if a SELECT is executed twice, but returns a row the second time that was not returned the first time, the row is a “phantom” row.[size=0.833em]Phantom Proble 是指在同一事件下,一连执行两次同样的 sql 语句可能返回不同的效果,第二次的 sql 语句可能会返回之前不存在的行。
回复【资料】有我准备的一线大厂口试资料和简历模板,有大厂口试完备考点。
欢迎光临 创意电子 (https://wxcydz.cc/) | Powered by Discuz! X3.4 |