广州网站运营专注乐云seo,合肥酒店团购网站建设,怎么做网站里的悬浮窗口,公司注册网址怎么弄一、基础规范1#xff09; 使用InnoDB存储引擎2#xff09; 数据库字符集使用UTF8#xff0c;校对字符集使用utf8_general_ci3#xff09; 所有表、字段都尽量添加注释4#xff09; 库名、表名、字段名使用小写字母#xff0c;禁止超过32个字符#xff0c;须见名知意5 使用InnoDB存储引擎2 数据库字符集使用UTF8校对字符集使用utf8_general_ci3 所有表、字段都尽量添加注释4 库名、表名、字段名使用小写字母禁止超过32个字符须见名知意5 非唯一索引以 “idx_字段1_字段2” 命名唯一索引必须以 “uniq_字段1_字段2” 命名二、查询规范1) SQL语句尽可能简单大的SQL想办法拆分成小的SQL实现2) 不要使用SELECT * 查询具体要用到的字段3) 禁止like做where条件会全表扫描且不能用索引4) 除非必要避免使用 ! 等非等值操作符会导致用不到索引5) Where条件里不要对列使用函数不会引用索引6) 能确定返回结果只有一条时使用limit 1LIMIT分页注意效率LIMIT越大效率越低7) 少用子查询改用JOIN子查询要在内存里建临时表8) 多表JOIN的字段区分度最大的字段放在前面9) IN条件里的数据数量要尽量少超过200个用EXIST代替IN10) Where字句中同一个表的不同字段组合建议小于5组否则考虑分表11) 禁止单条语句同时更新多个表12) 事务要尽量简单整个事务的时间长度不要太长三、表设计规范1 用DECIMAL代替FLOAT和DOUBLE存储精确浮点数精确数据2 使用TINYINT代替ENUM类型便于迁移时兼容3 尽可能不使用TEXT、BLOB类型该数据类型不能设置默认值、不便于排序、不便于建立索引4 同一意义的字段设计定义必须相同便于联表查询5 所有字段均定义为NOT NULL避免使用NULL字段NULL字段很难查询优化NULL字段的索引需要额外空间NULL字段的复合索引无效6 表必须有主键不使用更新频繁的列做主键、尽量不使用字符串列做主键尽量使用非空的唯一自增键做主键四、索引设计规范1 单表索引数量不超过10个2 单个字段不要超过两个索引3 新建的唯一索引必须不能和主键重复4 避免冗余和重复索引5 尽量不要在频繁更新的列上建立索引6 不在低基数列上建立索引例如状态、类型等7 不在索引列进行数学运算和函数运算参与了运算的列不会引用索引8 复合索引须符合最左前缀的特点建立索引mysql使用复合索引时从左向右匹配9 重要的SQL中where条件里的字段必须被索引10 Where条件里的字段顺序与索引顺序无关优化器会自动调整11 索引选择性 Cardinality / Total Rows即基数 ÷ 数据行数值越接近1说明使用索引的过滤效果越好12 建立索引时务必先explain查看索引使用情况