mysql 1000w_mysql 1000w级别的性能怎样?

这篇博客探讨了数据库性能与内存配置的关系。在4CPU、8GB内存的服务器环境中,为MySQL分配4GB内存后,对于大量数据插入(如10万条以上)的性能影响较小。博主通过创建AC_account表并执行大量插入操作进行测试,结果显示内存对数据库性能至关重要。此外,文章提及了在Oracle和SQL Server上的性能测试,但未提供具体数据。
摘要由CSDN通过智能技术生成

5000 take 656.

...............

50000 take 5172.

55000 take 5844.

60000 take 6531.

65000 take 7203.

70000 take 7672.

75000 take 8187.

80000 take 8781.

85000 take 9234.

90000 take 9969.

95000 take 10640.

100000 take 11375

....

200000 take 24469.

.................

500000 take 73156.

505000 take 74265.

510000 take 75172.

..................

1000000 take 184719.

1005000 take 186047.

1010000 take 187359.

..................

2000000 take 538422.

2005000 take 540250.

2010000 take 543125.

....................

3000000 take 1061750.

3005000 take 1064187.

3010000 take 1068187.

...................

3750000 take 1583109.

....................

以前测试如果是设成开发机环境,到10w数据就不行,看来内存对数据库的性能影响极大。

如果是在真的服务器环境(例如4 cpu, 8G内存,给mysql 设4G内存)估计到后面的出入速度也不会什么大的下降)

下面是表的结构:

stmt.execute("CREATE TABLE account" +

" (AC_id int(10) unsigned NOT NULL auto_increment," +

" AC_firstName varchar(45) NOT NULL,`AC_middleName` " +

"varchar(45) default NULL," + "AC_lastName varchar(45) NOT NULL," +

"AC_authName varchar(45) NOT NULL," +

"AC_authPassword varchar(45) NOT NULL," +

"AC_emailAddress varchar(45) default NULL," +

"AC_birthDay timestamp default '2007-04-24 20:55:22.468'," +

"AC_isClosed tinyint(1) default 0," + "PRIMARY KEY (AC_id)," +

"UNIQUE KEY AC_authName (AC_authName))" +

" ENGINE=InnoDB DEFAULT CHARSET=utf8;");

测试函数:

public static void importHugeAccountData(int number)

throws Exception {

Connection conn = getConnection();

Statement stmt = conn.createStatement();

stmt.execute("Delete from Account where AC_id > 100");

long startTime = System.currentTimeMillis();

for (int i = 0; i < (number / 1000); i++) {

StringBuffer sql = new StringBuffer();

sql.append(

"insert into account(AC_authName, AC_authPassword, AC_firstName, AC_lastName) values ");

for (int j = 0; j < 1000; j++) {

sql.append(("(\"" + UUID.randomUUID().toString() + "\", \"" +

UUID.randomUUID().toString() + "\", \"" +

UUID.randomUUID().toString() + "\", \"" +

UUID.randomUUID().toString() + "\"), "));

}

sql.delete(sql.length() - 2, sql.length() - 1);

stmt.execute(sql.toString());

if ((i % 5) == 0) {

System.out.println((i * 1000) + " take " +

(System.currentTimeMillis() - startTime) + ". ");

}

}

long time = System.currentTimeMillis() - startTime;

System.out.println(time);

}

这里有一个别人做的测试

http://jimcgnu.iteye.com/blog/56550

有谁知道在其它数据库上(oracle, sql server)做的测试性能怎样?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值