- 当结果集只有一行数据时使用LIMIT 1
- 避免SELECT *,始终指定你需要的列
从表中读取越多的数据,查询会变得更慢。他增加了磁盘需要操作的时间,还是在数据库服务器与WEB服务器是独立分开的情况下。你将会经历非常漫长的网络延迟,仅仅是因为数据不必要的在服务器之间传输。 - 使用连接(JOIN)来代替子查询(Sub-Queries)
连接(JOIN)之所以更有效率一些,是因为MySQL不需要在内存中创建临时表来完成这个逻辑上的需要两个步骤的查询工作。 - 使用ENUM、CHAR 而不是VARCHAR,使用合理的字段属性长度
- 尽可能的使用NOT NULL
- 固定长度的表会更快
- 拆分大的DELETE 或INSERT 语句
- 查询的列越小越快