优化技巧
- group by 分组查询,默认分组后,还会排序,可能会降低速度,可以在 group by 之后加上 order by null 来阻止分组后的排序
- 表连接的形式(如子查询),如果可以最好使用 join 形式处理,因为join不需要在内存中创建临时表
- 优化查询时,尽量避免全表扫描,首先应该考虑在where与order by 涉及的列上建立索引
- 不要在where子句中对字段进行null判断,因为存储引擎会放弃使用索引进而进行全表扫描
- 在设计表时,最好所有字段都 not null
存储引擎
MyISAM 与 INNODB
- myisam 不支持事务,innodb 支持
- 查询与添加速度,myisam更快
- myisam支持全文索引,innodb 不支持
- myisam为表锁,innodb为行锁
- myisam不支持外键,innodb支持,不过一般在程序中处理关系,不在表设计小提现