MySQL 讨厌哪种类型的查询

2014-11-24 17:50:15 · 作者: · 浏览: 1

㈠ 任何查询都讨厌


只要是查询、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很有帮助


相关阅读: