频道直达 - 专题 - 新闻 - 基础 - 高级 - 安装 - 技巧 - 数据库 - 手册 - PHP - Linux - Java - MySQL - Apache - 麻辣堂 - 狼盟 - Rails社群 - 搜索 - 下载 - 开源 - 论坛
PHP开发资源网 主页>PHP基础教程> 收藏此文 | 收藏本站 | 设为首页
优酷喜剧片, 招商加盟 迅雷看看, 传奇世界 传世私服 天龙八部新品上市营销策划 魔兽世界

快攻berkery db对比mysql myisam

来源:www.phpres.com 作者:Angelover 出处:www.phpres.com 2008-6-28 10:23:25 进入讨论组
关 键 词: 对比 key microtime true db max echo for conn mysql_query

据说 berkery db 在存储key-value形式的数据时速度很快,就实验了一下,拿bdb和mysql myisam比较了一下。

测试代码:

$max = 100000;
ini_set('display_errors', 1);
error_reporting(E_ALL);

$conn = mysql_connect('localhost', 'test', '.....');
mysql_select_db('test', $conn);
mysql_query('truncate table test_kv', $conn);

$t = microtime(true);
for($i = 0; $i < $max; $i++){
    $key = 'key' . $i;
    mysql_query("insert into test_kv(`key`,`value`) values('$key','$i')", $conn);
}
echo microtime(true) - $t, "\n";

$t = microtime(true);
for($i = 0; $i < $max; $i++){
    $key = 'key' . $i;
    $rs = mysql_query("select `value` from test_kv where `key`='$key'");
    $row = mysql_fetch_row($rs);
}
echo microtime(true) - $t, "\n";


dl('dba.so');
//print_r(dba_handlers(i));
$db = dba_open('test.db', 'n', 'db4');

$t = microtime(true);
for($i = 0; $i < $max; $i++){
    $key = 'key' . $i;
    dba_insert($key, $i, $db);
}
echo microtime(true) - $t, "\n";

$t = microtime(true);
for($i = 0; $i < $max; $i++){
    $key = 'key' . $i;
    dba_fetch($key, $db);
}
echo microtime(true) - $t, "\n";

结果

12.7905659676
58.7637891769
1.14525485039
0.541149139404

前面两行是mysql的结果,后面两行是berkery db 4的结果,分别是插入100000条和读取100000条记录消耗的时间。 如果是存取key-value的数据,又不需要在服务器间共享的话可以考虑使用berkery db。

欢迎进入PHP开发资源论坛讨论。
收藏此文】【 】【打印】【关闭
相关文章
图文推荐
论 坛 资 源
PHP开发资源网奋斗目标
阅读排行:
热门技术文档
最新图文档
本站编辑推荐:(本站开通Delphi4PHP专区,欢迎进入论坛交流!)
编缉最近更新文章
网站赞助商
搜索您感兴趣的内容
 
   网站首页 -  网站地图 -  网站合作 -  手册中心 -  通用网址 -  网站论坛 -  网站投稿 -  友情链接 -  帮助中心
版权所有:PHP开发资源网 © 2003-2008 通用网址:PHP资源网 合作媒体: 赛迪网IT技术
互联网违法和不良信息举报中心 | 不良信息举报信箱