博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQL优化建议
阅读量:4914 次
发布时间:2019-06-11

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

## MySQL优化建议

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

17. 合理添加联合索引

//给name,pass建立联合索引

select id,name,pass,sex from user where name='' and pass ='';

18. 建立联合索引时,区分度大的字段放到前面

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

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

 

转载于:https://www.cnblogs.com/onlyzc/p/8417074.html

你可能感兴趣的文章
判断两个控件在同一个Window上是否有重叠
查看>>
Android+Jquery Mobile学习系列(3)-创建Android项目
查看>>
android:inputType参数类型说明
查看>>
android 抽屉式滑动demo
查看>>
Swift语言Storyboard教程:第一部分
查看>>
unload事件Ajax提交问题
查看>>
代码工程flex不显示GIF图片问题
查看>>
Kotlin 初窥门径[2]:流程控制
查看>>
Android利用Socket与硬件通信之智能家居APP
查看>>
Idea中提交SVN或git时,忽略某些文件不提交
查看>>
20135236、20135206第一次试验报告
查看>>
Java的“Goto”与标签
查看>>
python 爬虫
查看>>
C# 支持两种形式的字符串:规则字符串和逐字字符串
查看>>
css z-index
查看>>
Javascript网页刷新方法集锦
查看>>
SQL触发器
查看>>
阿里云CentOS环境下tomcat启动超级慢的解决方案
查看>>
c/c++中的&、|和&&、||
查看>>
普通disco
查看>>