經(jīng)常聽人說,數(shù)據(jù)庫的IO性能不佳,但說歸說,并沒有感性認識。我們現(xiàn)在就來實際測試一下,常用的Oracle和MySQL的JDBC讀取性能如何。
下面小編跟大家一起看看Oracle 和 MySQL 的 JDBC對比分析,經(jīng)常聽人說,數(shù)據(jù)庫的IO性能不佳,但說歸說,并沒有感性認識。我們現(xiàn)在就來實際測試一下,常用的Oracle和MySQL的JDBC讀取性能如何。
之所以測試JDBC,是因為大部分應(yīng)用是JAVA寫的,也就只能用JDBC來訪問數(shù)據(jù)。這里僅測試用JDBC讀出數(shù)據(jù),并產(chǎn)生成Java的記錄對象(畢竟到了這一步才能在應(yīng)用中使用),不作任何計算。
1. 數(shù)據(jù)來源
使用TPCH生成的數(shù)據(jù),選用其中的customer表來做測試,數(shù)據(jù)記錄為3000萬行,8個字段。它生成的原始文本文件名為customer.tbl,文件大小為4.9G。利用數(shù)據(jù)庫提供的數(shù)據(jù)導(dǎo)入工具將此文件數(shù)據(jù)導(dǎo)入到Oracle和MySQL的數(shù)據(jù)表中。
2. 測試環(huán)境
在一臺Intel服務(wù)器上完成測試,2個Intel2670 CPU,主頻2.6G,共16核,內(nèi)存64G。數(shù)據(jù)庫表數(shù)據(jù)及文本文件均存儲在同一塊SSD硬盤上。
所有測試均在服務(wù)器本機上完成,沒有消耗網(wǎng)絡(luò)傳輸時間。
3. 數(shù)據(jù)庫讀數(shù)測試
通過Oracle提供的JDBC接口,用SQL語句執(zhí)行數(shù)據(jù)讀取。