【面试宝典】如何对MySQL进行优化?

一、数据库设计

  1. 所有字段都设置默认值。
  2. 尽可能使用较小的整数类型。
  3. 尽可能定义字段为NOT NULL,除非该字段需要NULL。
  4. 尽可能使用固定大小的记录格式,如CHAR,除非变长字段用VARCHAR。

二、数据库使用

  1. 尽量使用长连接。
  2. 使用 EXPLAIN 查看复杂SQL执行方式,进行优化。
  3. 使用 LIMIT 语句尽量要跟 ORDER BY 或 DISTINCT 配合,避免一次FULL TABLE SCAN。
  4. 使用 TRUNCATE 清空表记录,而不是DELETE。
  5. 使用 UNSIGNED INT(无符号整数)类型来保存需要频繁作比较的DATE类型数据。

三、系统瓶颈

  1. 磁盘搜索:使用并行搜索,把数据分开放到多个磁盘中,加快搜索时间。
  2. 磁盘读写(I/O): 可以从多个媒介中并行读取数据。
  3. CPU周期:数据存放在主内存中。这样就得增加 CPU 的个数来处理这些数据。
  4. 内存带宽:当 CPU 要将更多的数据存放到CPU 的缓存中来的话,内存的带宽就成了瓶颈。

四、数据库参数优化

  1. 公共参数默认值:
    1) max conmeetions =151 #同时处理最大连接数,推荐设置最大连接数是上限连接数的
    80%左右。
    2) sort buffer_size -2M #查询排序时缓冲区大小,只对 ORDER BY 和 GROUP BY 起作用,可增大此值为16M。
    3) open files_ limit = 1024 #打开文件数限制,如果 show
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李维山

帮到你就行 不差钱

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值