如何屏蔽或减轻 磁盘I/O 在数据库…

本文主要介绍通过使用缓存的方式 来屏蔽磁盘I/O对 数据库语句性能的影响。

主要通过在数据库server启动时设置选项 innodb_buffer_pool_size来实现。

 

关于innodb_buffer_pool_size:

innodb_buffer_pool_size

Command-Line Format--innodb_buffer_pool_size=#
Option-File Formatinnodb_buffer_pool_size
Option Sets VariableYes, innodb_buffer_pool_size
Variable Nameinnodb_buffer_pool_size
Variable ScopeGlobal
Dynamic VariableNo
 Permitted Values (<= 5.1.27)
Typenumeric
Default8388608
Min Value1048576
 Permitted Values (>= 5.1.28)
Platform Bit Size32
Typenumeric
Default134217728
Range1048576 .. 2**32-1
 Permitted Values (>= 5.1.28)
Platform Bit Size64
Typenumeric
Default134217728
Range1048576 .. 2**64-1

 

在数据库server启动选项中设置的 innodb_buffer_pool_size, 默认的大小在32位和64位的机器上都是大约128M。 通常最好是你所处理的数据表的几倍,这样才能确保把整个表都缓存进去。

内存如果比较大的话  可以考虑把该值设为512M, 1G 或更大。

然后启动数据库后通过 select * from 【需要处理的表】。 先把表缓存起来。

之后再执行语句查询语句效率就会提高很多,因为基本无需再通过磁盘I/O去读取数据了,可以直接通过缓存。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值