資料庫執行效率的對比測試
今天看了一篇很有意思的文章,對比資料庫和普通程式語言的效率測試,
測試的語言分別是mysql的儲存過程,oracle plsql和perl.
測試機器是同一臺機器上,測試標準是計算100萬次的cos函式
oracle程式碼
create or replace procedure oraclesp
as
i integer;
j integer;
begin
for i in 0..1000000
loop
j:=cos(i);
end loop;
end;
SQL> exec oraclesp;
PL/SQL procedure successfully completed.
Elapsed: 00:00:07.38
執行時間7.38秒
mysql的程式碼
DELIMITER$$
DROP PROCEDURE IF EXISTS mysql_sp$$
create procedure mysql_sp()
begin
declare i integer;
declare j integer;
set i=0;
loop1:loop
if i>1000000
then leave loop1;
end if;
set j=cos(i);
set i=i+1;
end loop loop1;
end$$
delimiter ;
mysql> call mysql_sp();
Query OK, 0 rows affected (2.95 sec)
執行時間為2.95秒
perl程式碼
#!/usr/bin/perl -w
#writen by dongdongtang
use strict;
my $i;
my $j;
for ($i=0;$i<=1000000;$i++)
{
$j=cos($i);
}
[oracle@localhost 1102]$ time /home/oracle/1102/1.pl
real 0m0.114s
user 0m0.113s
sys 0m0.001s
花費時間是0.114秒
透過對比測試,我們發現資料庫執行計算的效率比程式語言的效率要低得多.資料庫的長處是在於存和讀
取資料,因此儘量少使用資料庫來做一些計算。
測試的語言分別是mysql的儲存過程,oracle plsql和perl.
測試機器是同一臺機器上,測試標準是計算100萬次的cos函式
oracle程式碼
create or replace procedure oraclesp
as
i integer;
j integer;
begin
for i in 0..1000000
loop
j:=cos(i);
end loop;
end;
SQL> exec oraclesp;
PL/SQL procedure successfully completed.
Elapsed: 00:00:07.38
執行時間7.38秒
mysql的程式碼
DELIMITER$$
DROP PROCEDURE IF EXISTS mysql_sp$$
create procedure mysql_sp()
begin
declare i integer;
declare j integer;
set i=0;
loop1:loop
if i>1000000
then leave loop1;
end if;
set j=cos(i);
set i=i+1;
end loop loop1;
end$$
delimiter ;
mysql> call mysql_sp();
Query OK, 0 rows affected (2.95 sec)
執行時間為2.95秒
perl程式碼
#!/usr/bin/perl -w
#writen by dongdongtang
use strict;
my $i;
my $j;
for ($i=0;$i<=1000000;$i++)
{
$j=cos($i);
}
[oracle@localhost 1102]$ time /home/oracle/1102/1.pl
real 0m0.114s
user 0m0.113s
sys 0m0.001s
花費時間是0.114秒
透過對比測試,我們發現資料庫執行計算的效率比程式語言的效率要低得多.資料庫的長處是在於存和讀
取資料,因此儘量少使用資料庫來做一些計算。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29874640/viewspace-1332538/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 程式池、執行緒池效率測試執行緒
- 提高資料庫系統的執行效率的辦法資料庫
- python多執行緒爬蟲與單執行緒爬蟲效率效率對比Python執行緒爬蟲
- [測試分析] for與foreach 執行效率測試結果 (轉)
- 對圖資料庫(Nebula)進行單元測試時的坑資料庫
- 對執行中的Mysql資料庫建立從庫MySql資料庫
- 利用jmeter進行資料庫測試JMeter資料庫
- grequests 執行併發測試與 jmeter 併發結果對比JMeter
- 關於c++ STL map 和 unordered_map 的效率的對比測試C++
- 執行緒數目對資料庫的影響執行緒資料庫
- MOGDB/openGauss資料庫執行計劃快取/失效機制的測試資料庫快取
- 針對使用非塊執行和塊執行併發壓測對比
- 使用JDBC向MySQL資料庫批次插入10W條資料測試效率JDBCMySql資料庫
- 【Mongodb】 對 shard 進行大量資料拆分測試MongoDB
- 大資料測試與 傳統資料庫測試大資料資料庫
- 資料庫測試的重要性——永遠不要忘記資料庫測試資料庫
- 資料庫測試指南資料庫
- 執行 測試
- jmeter對mysql db2 oracle資料庫測試的配置JMeterMySqlDB2Oracle資料庫
- 【SQL】Oracle sql語句 minus函式執行效率與join對比SQLOracle函式
- 百萬資料查詢測試 只需1秒--Sql語句效率測試SQL
- PHP 單元測試與資料庫測試PHP資料庫
- 關聯式資料庫與文件資料庫對比資料庫
- 使用RMAN對PDB執行閃回資料庫操作資料庫
- 使用RMAN對CDB執行閃回資料庫操作資料庫
- 單元測試效率優化:為什麼要對程式進行測試?測試有什麼好處?優化
- 幾款分散式資料庫的對比分散式資料庫
- 使用orastress!進行資料庫壓力測試(zt)AST資料庫
- 2.4. 測試資料庫資料庫
- 【MySQL】資料庫效能測試MySql資料庫
- NoSQL資料庫效能測試SQL資料庫
- 批量更新資料方法比較測試
- 資料庫查詢優化:使用explain分析sql語句執行效率資料庫優化AISQL
- ASM資料庫的一個測試ASM資料庫
- Oracle資料庫學習之儲存過程--提高程式執行的效率Oracle資料庫儲存過程
- 用Jupyter+pandas資料分析,6種資料格式效率對比
- MySQL製作具有千萬條測試資料的測試庫MySql
- python進階(15)多執行緒與多程式效率測試Python執行緒