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很有帮助

By WaterBin

2013-07-20

Good Luck

上一篇:Java序列化与反序列化


下一篇:Fedora 11中用MinGW编译Windows的Qt4程序(在Linux系统下编译Windows的程序)