MySQL 单表优化

一、表字段优化

  1.整数类型尽量使用 TINYINT、SMALLINT、MEDIUM_INT 而不是INT,非负数要加上UNSIGNED

  2.VARCHAR的长度分配要合理,不要过大

  3.时间字段不超过2037年的使用TIMESTAMP而不是DATETIME

  4.单表字段最好不要超过20

  5.字段设定默认值,不要有NULL字段

  6.IP值存储时最好转成整型

二、表索引优化

  1.合理建索引,根据WHERE 和 ORDER BY 可能涉及的列建立(值分布很少的字段就别索引了)

  2.SQL 语句尽量避免在WHERE 子句中判断 NULL(会放弃索引而进行全表扫描)

  3.不要对列进行运算( where age+1 = 10),对列操作将导致表扫描,尽可能将运算移到右边

三、查询优化

  1、select 语句尽量简洁,不要出现大语句,尽量拆分成小语句减少锁时间

  2、范围查询时性能,BETWEEN > IN > OR

  3、不适用select *查询、列表数据用LIMIT 分页

原文地址:https://www.cnblogs.com/caoyajun33-blog/p/7453969.html