// 最近稍微有點時間 測試下nosql(reids,mongdb)和mysql效能問題
// 現在用的最普遍的redis非關係型資料庫
// 迴圈十萬次和一百萬次消耗時間(最簡單的資料插入):
$redis=new redis();
$redis->connect('127.0.0.1',6379); // 本機ip等(先安裝redis服務及dll拓展)
$redis->auth('123456'); // 密碼
$starttime = microtime(true);
for($i=1;$i<= 1000001;$i++)
$stoptime = microtime(true);
$timespent=$stoptime-$starttime;
echo number_format($timespent*1000, 4).'毫秒';
// 十萬次 100001 8,050.7162毫秒
// 一百萬次 1000001 78,719.3971毫秒
// mysql批量插入的效率如下:
$link = mysql_connect('127.0.0.1','root','');
if (!$link) {
die('could not connect to mysql: ' . mysql_error());
mysql_select_db('test');
$starttime = microtime(true);
$str = '';
for($i=1;$i<=100000;$i++){
$str .= '('.$i.'),';
$sql1 ="insert into test(val) values".$str;
$sql2 = rtrim($sql1, ",").';'; // 拼接sql字串太長可能不太好
mysql_query($sql2,$link);
for($i=1;$i<=1000000;$i++){
$sql1 ="insert into test(val) values($i)";
mysql_query($sql1,$link);
$stoptime = microtime(true);
$timespent=$stoptime-$starttime;
echo number_format($timespent*1000, 4).'毫秒';
exit;
// sql值拼接的情況下
// 100000 => 1,960.1121毫秒/1,662.9341毫秒
// 10000000 => fatal error: allowed memory size of 134217728 bytes exhausted (tried to allocate 98888926 bytes) in d:\wamp_php\wamp\www\testmysql.php on line 14
// 5000000 => fatal error: allowed memory size of 134217728 bytes exhausted (tried to allocate 48888924 bytes) in d:\wamp_php\wamp\www\testmysql.php on line 15
// 3000000 => warning: error while sending query packet. pid=2928 in d:\wamp_php\wamp\www\testmysql.php on line 16
// 1000000 =>
//warning: mysql_query(): mysql server has gone away in d:\wamp_php\wamp\www\testmysql.php on line 16
//warning: mysql_query(): error reading result set's header in d:\wamp_php\wamp\www\testmysql.php on line 16
// 迴圈
// 1000000 實際插入表 1627條 耗時122秒03毫秒
由此可見:mysql大資料量的插入資料拼接形式的效率遠大於迴圈插入的效率,不過我自己的筆記本可能配置久和低,實際在伺服器的效率應該會高很多的。
mongdb批量插入效率:在3月份的時候在公司電腦用mongdb插入1000萬條記錄(含id,name,age三個字段),用時43分鐘不到一小時,這個效率應該和redis相差不大;
總結:非關係型資料庫效率要比關係型資料庫效率 高很多。。。
各種排序方法的效能比較
測試環境說明 win xp下,vs2008,主頻 core2 雙核2.53ghz 下面是測試的 using system using system.collections.generic using system.linq using system.text using system.collect...
各種內排序演算法效能比較
各種內排序演算法效能比較 個人總結 穩定性最好情況 最壞情況 平均空間複雜度 確定最終位置 簡單選擇排序 屬於選擇排序 不穩定o n n 1趟 o n n 1趟 o n n 1趟 o 1 一趟排序後能確定某個元素的最終位置 直接插入排序 穩定o n n 1趟 o n n 1趟 反向有序 o n n ...
mysql 各種儲存引擎效能比較
1 測試環境 cpu 2ghz 記憶體 2gb 區域網 開乙個長連線,構造隨機查詢條件。2 測試結果 資料量 88171條 qps query per second 引擎型別 網域名稱 快取 qps 不快取 qps innodb innodb.abc.com 7125.467573 11.12710...