现在的内存便宜,16G以上内存的服务器已不少见.大内存的确让你的服务器运行程度加快了不少.但有些分析报表,总产生N个中
间的表,数据在里面倒来倒去,从这个表合计到那个表.不但速度很慢,而且,这个过程还有可能影响了正常的业务.减慢了服务器的响
应时间.
也经常有人出于业务的考虑,如某些系统要实时数据采集,有些系统可能每秒有上万条的 INSERT INTO 量.我看了一下相关的
回复,大体上都是增加硬盘,应用分布式管理,表分区等等..一句话.基本上是砸钱加硬件. :) .这的确是好办法.不过,现在是经济
危机,尤其是中小型企业,每一分钱都算得紧紧的,我相信你这个DBA也很难向老板开口.
不扯了,如果真的要在内存中建一个数据库,不难,很简单.
1.下载一个 ramdisk 或类拟的软件,先在2G左右的内存虚拟成一个硬盘.
2.在你的实体硬盘上建立一个空的数据库(直接在虚拟盘中建库是不可能的). 设置这个库的事务方式为简单.
3.分离这个新建的库.
4.将这个库 COPY 到你的虚拟盘上,然后附加.
我在我的电脑上测试:L730T + 2G + 320G.
100万条,基本是每秒 INSERT INTO 20000 条左右,而且,这个数据很平稳.
OK,你的内存数据库完成了.
以后呢,凡是分析报表扯到的临时中间表,都可以放到这个库里,用完就KILL,或者你有很多实时数据要采集,也放到这个库里(要注意隔一定时间回写到实体表,还要注意断电. :)