SQL日常优化技巧

  • 往前方,索引字段顺序往前放
  • 40%的界限。 男 女 。 99% + 1% ,的情况。 不能绝对,还是看数据分布,需要加索引~
  • 问题?表情符?

优化方向

  • 硬件 「SASS盘,SSD盘】 -成本高
  • 系统配置 {}
  • 表结构
  • SQL语句和索引

基础规范

  • InnoDB存储引擎 , 对事物,行级锁,并发性更好。
  • UTF8字符集
  • 禁止,存储过程、视图、触发器、Event
  • 禁止存储大文件
  • 表名: t_xxx, idx_xxx, uniq_xxx

表设计规范

  • 表数目小于1000
  • 单表列小于30
  • 表必须有主键 「innodb会保存主键的值, 主键用较短的数据类型做字段】
  • 禁止使用外键 【程序控制】
  • 建议字段定义为NOT NULL 【null列的索引值比较复杂,】
  • text blob禁止大字段 【内存命中率降低】 varchar最大65535,再除以3,两万多。
  • enum用tinyint代替

索引规范

  • 组合索引 【最左原则,左匹配,放左边】
     5.5 升5.6 升5.7     dump数据灌进去做数据,做完数据在5.7【并行复制】
     decimal可能精度缺失。    
      5.7 QPS, 查不多。
      5.7 能到毫秒
      
    

SQL使用规范

  • 禁止select *。 【对io、网络、系统 都有消耗】
  • 禁止隐士转化
  • 禁止查询条件加函数,函数放后面值上
  • 禁止负向查询,%开头查询
  • 禁止join查询

count(*) 有空值会有影响~~

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值