【面试宝典】如何对MySQL进行优化?
发布时间:2024年01月12日
一、数据库设计
- 所有字段都设置默认值。
- 尽可能使用较小的整数类型。
- 尽可能定义字段为NOT NULL,除非该字段需要NULL。
- 尽可能使用固定大小的记录格式,如CHAR,除非变长字段用VARCHAR。
二、数据库使用
- 尽量使用长连接。
- 使用 EXPLAIN 查看复杂SQL执行方式,进行优化。
- 使用 LIMIT 语句尽量要跟 ORDER BY 或 DISTINCT 配合,避免一次FULL TABLE SCAN。
- 使用 TRUNCATE 清空表记录,而不是DELETE。
- 使用 UNSIGNED INT(无符号整数)类型来保存需要频繁作比较的DATE类型数据。
三、系统瓶颈
- 磁盘搜索:使用并行搜索,把数据分开放到多个磁盘中,加快搜索时间。
- 磁盘读写(I/O): 可以从多个媒介中并行读取数据。
- CPU周期:数据存放在主内存中。这样就得增加 CPU 的个数来处理这些数据。
- 内存带宽:当 CPU 要将更多的数据存放到CPU 的缓存中来的话,内存的带宽就成了瓶颈。
四、数据库参数优化
- 公共参数默认值:
1) max conmeetions =151 #同时处理最大连接数,推荐设置最大连接数是上限连接数的
80%左右。
2) sort buffer_size -2M #查询排序时缓冲区大小,只对 ORDER BY 和 GROUP BY 起作用,可增大此值为16M。
3) open files_ limit = 1024 #打开文件数限制,如果 show
文章来源:https://blog.csdn.net/msllws/article/details/135549124
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:chenni525@qq.com进行投诉反馈,一经查实,立即删除!