sql优化
1、select 需要列
在select中最好只获取所需列,全部获取有点太多了(如果列太多)
2、关闭查询缓存:这是为了避免生产中缓存失效,所以关闭缓存在测试查询时间
3、explain:对索引进行优化,看有没有走我们预期的索引
force index(index name):强制走索引,放在语句最后即可
4、如果使用了索引,那么要注意一些索引失效的情况,例如对索引列做函数操作、isnull判断等情况
如果是多条件查询,就考虑使用复合索引,但一般会有动态条件,我现在的操作就是将一定会有的条件做成复合索引(但也要考虑列是否经常变化来创建索引)
其他优化
1、外部添加缓存层(redis)
2、内部分库分表(mycat?听说过)
3、有钱你就买牛杯的机器