选择索引和编写利用这些索引的查询中,如下三原则始终需要记住:
单行访问是很慢的
意思就是如果读取一个数据库只是为了读取一行数据,那么这就是不会高效,这就需要使用索引,或者读取的块中包含更多需要的行数据。按照顺序访问范围数据是很快的
按照顺序访问范围数据是很快的原因有两个:一个是顺序I/O不需要多次磁盘寻道,另外一个是顺序读取数据,那么就不需要额外的排序操作,并且group by查询也无须再次排序和将行按照组进行聚合计算了。索引覆盖查询是很快的
如果一个索引包含了查询需要的列,那么就不需要进行回表查找行。这就避免了单行访问。
参考《高性能mysql》