一、表设计
1、避免使用null 占用额外空间、索引无效、检索麻烦
2、能用int 不用varchaer,能用varchaer 不用text
3、int 最好给默认值 0 、varchar emptystring
4、不使用外键(程序约束)、使用自增列
5、字段规范名称统一
二、SQL查询
1、使用统一大写或者小写,MYSQL默认大小写敏感
2、不使用触发器,程序实现
3、不使用 *、 OR、!=、<>
4、不使用COUNT(*)
查询单条数据加 limit 1提高性能,查到数据会终止执行
5、搜索条件字段创建联合索引(索引名称:表_字段_字段_字段)
查看索引
SHOW INDEX FROM PRODUCTS
简单索引
CREATE INDEX PRODUCTS_PRODUCTID ON PRODUCTS (PRODUCTID);
多重索引
REATE INDEX PRODUCTS_PRODUCTNAME_SKU ON mytable (PRODUCTNAME,SKU);
测试索引 (EXPLAIN)
删除索引
DROP INDEX PRODUCTS_PRODUCTNAME_SKU ON PRODUCTS