适当使用查询缓存
当查询结果确定不大于1行时,使用limit 1
列有固定可选值时,使用enum而不是varchar
为搜索字段建索引
join表使用相同的类型,并建立索引
使用Explain来优化语句
避免select *
永远为每张表设置id
尽可能使用notnull
prepared statements
不用使用 order by rand()
固定长度的表/越小的列 速度会更快
procedure analyse来分析表数据 select * from aaa where ... procedure analyse(1,256) 或 ()
垂直分割(根据业务需求来建表,把字段放到合适的位置,是否冗余,是否拆分表)
拆分大的delete/insert语句
选择正确的存储引擎