作者:老王 以前一直没注意这一点,突然一闪念想起来,下面唠唠: 比方说有一个文章表,我们要实现某个类别下按时间倒序列表显示功能: SELECT * FROM articles WHERE category_id = ... ORDER BY created DESC LIMIT ... 这样的查询很常见,基本上不管什么应用里都能找出一大把类似的SQL来,学院派的读者看到上面的SQL,可能会说SELECT *不好,应该仅仅查询需要的字段,那我们就索性彻底点,把SQL改成如下的形式: SELECT id FROM ar…

2009年3月2日 0条评论 0点热度 阅读全文

当我们优化一个系统时,有时发现一种情况就是自己修改SQL,索引以及分区是不能解决性能问题的。这时你要考虑业务逻辑优化和表设计的重构。这两点的确和设计结合的很紧密。   业务逻辑优化   结合实际,我们先谈谈业务逻辑优化。   案例一:   我们的系统一个文档模块,客户点击时很慢,通过性能分析,是点击是去查询数据库,这时系统是通过Hibernate来两步处理:   1,计算该类型的文档数量总数。   2,显示最新文档的前20篇文档。    这时显示第二步的时间是很快的,只取20条记录,但是计算该类型的所有总数很慢。系…

2008年9月1日 0条评论 1点热度 阅读全文