MySQL 讨厌哪种类型的查询


㈠ 任何查询都讨厌

只要是查询、MySQL都讨厌、执行查询最快的方式就是不去执行

缓存为王、比如Redis或者memcache

㈡ 查询结果集最小

尽量基于主键或者二级索引来查询、通过覆盖索引避免回表来节省IO

如:

select col1 from table where primary_key_column=something;

㈢ 带JOINS 的查询

采用适当的反范式来避免JOIN

如:

SELECT t2.value FROM t2 JOIN t1 ON (t1.id=t2.tid) WHERE t1.orderdate=NOW()

可以把t1中的orderdate列抽取放置到t2中

SELECT t2.value FROM t2 WHERE t2.orderdate=NOW()

㈣ 聚合查询最讨厌

周期性的预装载汇总表来避免实时的在线聚合查询

这里使用 INSERT ... ON DUPLICATE KEY UPDATE很有帮助

MySQL查询前n条记录

MySQL查询优化:LIMIT 1避免全表扫描

MySQL查询优化:用子查询代替非主键连接查询

MySQL查询优化-Show命令

MySQL查询不使用索引汇总

相关内容