mysql 设计优化及性能调优

  1. 每个字段都有默认值,not null , 便于索引及查询性能
  2. 尽量使用数值型字段,若只包含数值信息的字段尽量不要设计为字符型
  3. 不要使用外键
  4. 一张表的列不宜过多40以内,索引小于6个
  5. 添加索引–where条件查询经常使用的字段;字段值重复率低;连接字段上;小字段上,如果字段太长取字段的前50字符建索引
  6. 尽量少使用函数,因为函数值属于变量,可能不会走索引
  7. 模糊查询时右通配会走索引 hu% , 左右通配%hu%会逐个比较
  8. 避免让mysql执行自动类型转换,因为可能会导致索引不起作用。例如字段id设置为varchar (实际存储均为数字) , 查询为 select * from table where id>1;
  9. 用explain解析你的查询并优化
  10. 使用limit 1 取得唯一行
  11. 尽量避免select * , 因为mysql需要将* 转为表所有列,耗费性能,一般只查询需要的字段
  12. 使用procedure analyse() 中获得建议
  13. ip存储为无符号整型
  14. 使用enum , 因为enum在mysql中为数值型
  15. 固定长度的表会更快
  16. 尽量使用单字段索引代替复合索引
  17. 复合索引的几个字段是否经常and方式出现在where子句中,单字段查询是否极少甚至没有,如果是,使用复合索引,否则为单索引
  18. 如果复合索引的字段经常出现在where 中,则分解为多个索引
  19. 如果复合索引字段超过3个,那么考虑其必要性
  20. 如果既有几个字段组成的复合索引,又有单索引,一般可以删除复合索引
  21. 删除无用的索引,避免影响执行计划
  22. 开发中禁用视图,存储过程,,触发器等
  23. 对sql操作事务进行超时设置,防止长时间占有表对效率造成影响
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值