主键优化
主键即表查询应用列。主键上有相应的索引,用于快速查询。主键要求不能为null。InnoDB 引擎物理上以一种有助于快速查询的方式存储。
如果表比较大,且很重要,但是没有特别适合做主键的列,则,应该创建一个额外的列,以auto-increment方式增长,作为主键。可以作为联合查询的外键。
外键优化
如果表有很多的列,查询也有很多的组合,那么有必要将使用率较低的列划分到关联的不同表中,并使用主表主键进行关联。这样,每个小表都有个主键来提供快速查询使用,对于综合查询,可以使用相关的表进行联合查询。数据存储分布的不同及具体数据的组织形式不同,会对查询缓存需求及I/O访问产生较大影响。为了尽可能的提高性能,应该尽量减少磁盘I/O,一些具有较少列的表可以尽量一次将较多的行数据查询到内存。
Explain优化查询检测
EXPLAIN可以帮助开发人员分析SQL问题,explain显示了mysql如何使用索引来处理select语句以及连接表,可以帮助选择更好的索引和写出更优化的查询语句。
使用方法,在select语句前加上Explain就可以了:
Explain select * from blog where false;