博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SQL日常优化技巧
阅读量:1831 次
发布时间:2019-04-25

本文共 608 字,大约阅读时间需要 2 分钟。

  • 往前方,索引字段顺序往前放
  • 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(*) 有空值会有影响~~

转载地址:http://mlrkf.baihongyu.com/

你可能感兴趣的文章
VUE进阶之使用vue-draggable拖拽
查看>>
微信小程序特训之父子组件传值
查看>>
解除端口占用 Address already in use::8000
查看>>
VUE之axios解决跨域方案
查看>>
mysql问题解决方案--install/Remove of the Service Denied!
查看>>
nodeJS学习------拿到数据有RowDataPacket处理
查看>>
The project seems to require yarn but it‘s not installed.
查看>>
vue-cli3中引入less,scss等解决方案
查看>>
vue使用swiper插件修改左右箭头的默认样式
查看>>
微信小程序--拿到时间戳 转换 并绑定
查看>>
关于转换十位时间戳出现1970的问题
查看>>
【vue系列】在Vue项目中使用Sass-----(scss)安装详解,新手跟着做即可
查看>>
前端-给大家一个超级好用简单方便的图片压缩工具(网页在线)~
查看>>
前端html实现删除线的两种方法(下划线)css样式总结
查看>>
js根据ID获取输入框的值
查看>>
初学wx小程序在vscode上装什么插件
查看>>
(split盲点)javascript如何判断字符串中某个特定字符的个数
查看>>
axios请求头踩坑日记之-application/json
查看>>
vue-封装axios的GET请求
查看>>
javascript获取当前时间时间戳的几种方法
查看>>