当前位置: 首页 > news >正文

MySQL优化的几点建议

MySQL优化建议

  1. 设计数据表的时候要遵守三范式,但是不要严格遵守。可以适度打破范式。

  2. 一个表字段不适合过多。

  3. 常用表中只要保留常用的字段

  4. 尽量给每个字段添加NOT NULL

  5. 根据表的特点来选择合适的表引擎, 如果这个表经常被写,应该选择innodb,但是MySQL5.6一般都是选择innodb

  6. 根据表存放的数据来决定字符集,一般选择utf8,但是如果想要存放emoji表情,就应该选择utf8mb4

  7. 尽量选择更加小的数据类型,但是考虑扩展性

  8. 尽量使用数字类型,时间类型。

  9. 减少使用文本类型(text)

  1. 不要使用*,尽量支查需要的字段。原因:可以减少传输数据的大小

  2. 给每条查询SQL语句添加LIMIT,原因:可以减少传输数据大小

  3. 尽量根据索引来检索数据

  4. 尽量减少在MySQL中使用内置函数,减少在MySQL中进行运算

  5. 减少多表联查,可以适度冗余字段。 也可以通过切分多表联查语句,将多表联查变成单表查询

  6. 不要在核心业务的代码中使用子查询

  7. 给经常作为where/order by/left join on/distinct字段添加索引

  8. 合理添加联合索引

    //给name,pass建立联合索引
    select id,name,pass,sex from user where name='' and pass ='';
    
  9. 建立联合索引时,区分度大的字段放到前面

  10. or前后的字段都必须有索引

  11. 不要使用like,因为like会导致索引失效。 比如可以用全文搜索引擎会替换like,比如sphinx/xunsearch

转:https://www.3maio.com/w-detail/9

相关文章:

  • 登录失败次数限制(原生php代码实现)
  • Mysql 数据库date, datetime类型设置0000-00-00默认值报错问题
  • linux(本机)配置域名(多域名)
  • php面试总结
  • 微信小程序开发
  • 开发手册
  • php 中的陷阱
  • php 查询所有上级
  • FastStone Capture 8.4 注册码
  • Ajax+PHP 异步上传图片
  • windows下搭建git + gitStack
  • 如何用git将项目代码上传到github
  • git从windows上推到linux里去
  • Nginx提示502和504错误的终极解决方案
  • MySQL远程连接不上
  • 自己简单写的 事件订阅机制
  • 【EOS】Cleos基础
  • Angular2开发踩坑系列-生产环境编译
  • eclipse的离线汉化
  • ES10 特性的完整指南
  • extjs4学习之配置
  • Git同步原始仓库到Fork仓库中
  • leetcode98. Validate Binary Search Tree
  • rc-form之最单纯情况
  • Service Worker
  • 技术攻略】php设计模式(一):简介及创建型模式
  • 目录与文件属性:编写ls
  • 那些被忽略的 JavaScript 数组方法细节
  • 少走弯路,给Java 1~5 年程序员的建议
  • 体验javascript之美-第五课 匿名函数自执行和闭包是一回事儿吗?
  • 如何在招聘中考核.NET架构师
  • ​如何防止网络攻击?
  • $(selector).each()和$.each()的区别
  • $.ajax()方法详解
  • (33)STM32——485实验笔记
  • (pytorch进阶之路)扩散概率模型
  • (Repost) Getting Genode with TrustZone on the i.MX
  • (八)光盘的挂载与解挂、挂载CentOS镜像、rpm安装软件详细学习笔记
  • (转)visual stdio 书签功能介绍
  • .aanva
  • .NET Framework 3.5中序列化成JSON数据及JSON数据的反序列化,以及jQuery的调用JSON
  • .Net 访问电子邮箱-LumiSoft.Net,好用
  • .net和php怎么连接,php和apache之间如何连接
  • .net中调用windows performance记录性能信息
  • .pyc文件是什么?
  • .vue文件怎么使用_vue调试工具vue-devtools的安装
  • [ACM] hdu 1201 18岁生日
  • [BZOJ 1040] 骑士
  • [C#]winform部署yolov9的onnx模型
  • [C++]命名空间等——喵喵要吃C嘎嘎
  • [codeforces]Levko and Permutation
  • [hive] 窗口函数 ROW_NUMBER()
  • [JS真好玩] 掘金创作者必备: 监控每天是谁取关了你?
  • [LeetCode]: 145: Binary Tree Postorder Traversal
  • [MYSQL]mysql常用操作命令