首页 > 图灵资讯 > java面试题>正文

金三银四精选面试题-SQL优化有哪些着手点?组合索引的最左前缀原则的含义?

2023-11-19 09:44:22

 

SQL优化有哪些着手点?组合索引的最左前缀原则的含义?

首先讲第一个问题:

SQL优化,既然是优化,那么首先得要定位问题才能对症下药,开启慢查询日志监控,找出系统中比较慢的SQL。这就减少了筛查范围,然后逐条进行执行计划分析。没建索引的建索引,建了索引的看看索引是不是失效了,然后排查为什么索引失效?这些问题排查完了之后,可能因为表数据量过大,那就要考虑是不是要拆表,进行分表。

常用优化建议:

  1. 优化查询的选择、连接和排序操作。
  1. 优化查询中使用的索引,包括创建新索引、删除无用索引、调整索引的顺序等。
  1. 优化查询中使用的表连接方式,包括内连接、外连接、自连接等。
  1. 优化查询中使用的子查询,包括对子查询进行优化、使用连接代替子查询等。
  1. 优化查询中使用的聚合函数,包括使用索引进行优化、使用分组连接代替聚合函数等。

第二个问题:

组合索引的最左前缀原则指的是,在创建组合索引时,应该将最常用于筛选数据的列放在索引的最左侧,这样可以使索引更有效地帮助查询优化。

例如,如果有一张表中包含三个字段:A、B和C,并且频繁使用A和B这两个字段进行筛选数据,则应该将A和B作为组合索引的最左前缀,而不是C。

这样,在使用组合索引进行查询时,数据库系统就可以使用索引进行快速筛选,而不必扫描整张表。这有助于提高查询的效率。

最左前缀原则对于组合索引的创建非常重要,因为它可以帮助数据库系统更有效地使用索引。如果不遵循最左前缀原则,则组合索引可能会变得无用,甚至阻碍查询的优化。


 
上一篇 金三银四精选面试题-什么是IoC和DI?DI是如何实现的?
下一篇 金三银四精选面试题-数据库的隔离级别、MVCC

文章素材均来源于网络,如有侵权,请联系管理员删除。