内存数据库到底有多快?

 

并发量太高的应用中(比如10分钟内插入300w条记录),数据库往往难堪重负,在没有银子实现服务器集群/负载均衡/分布式存储的情况下,可以尝试一下把数据库做一个临时副本全部放在内存中处理,完成操作后,再同步到硬盘的物理数据库中。

那么,把数据库放在内存中到底有多快? 晚上抽空试了一下:

步骤1:先用Ramdisk之类的工具,划出一块内存当作虚拟硬盘.

步骤2:
先在sql2005中新建一个空库db,然后分离,把分离后的数据库文件复制到虚拟硬盘中,并附加回数据库,至此完成数据库在内存中的建立。

步骤3:
建一个测试表Test

 

ContractedBlock.gif ExpandedBlockStart.gif Code
USE [db]
GO
/****** 对象:  Table [dbo].[Test]    脚本日期: 06/15/2009 21:55:24 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Test](
 
[ID] [bigint] IDENTITY(1,1NOT NULL,
 
[Name] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL,
 
CONSTRAINT [PK_Test] PRIMARY KEY CLUSTERED 
(
 
[ID] ASC
)
WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ONON [PRIMARY]
ON [PRIMARY]

 


步骤4:直接在查询界面中写一个循环,插入300w条数据,见下图:
insert.jpg

在我的笔记本上,共耗时6分50秒,数据库文件增加到近280M

步骤5:测试一次性查询300w条数据 

select1.jpg

 耗时2分钟2秒

步骤6:清空表后,对Name字段做索引,重复插入300w数据

insert2.png

步骤6:重复刚才的查询

select2.png
 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值