mysql 序列化缓存到txt文件查找数据与直接查找数据 性能对比,13,601条数据文件缓存平均0.085秒后只需0.025秒 推荐 程序员导航网http://www.je666.com

推荐 程序员导航网http://www.je666.com


CREATE TABLE IF NOT EXISTS `ylmf_site_search` (

  `id` int(11) NOT NULL,
  `displayorder` int(11) NOT NULL,
  `pinyin` varchar(255) CHARACTER SET gbk NOT NULL,
  `name` varchar(255) CHARACTER SET gbk NOT NULL,
  `url` varchar(255) CHARACTER SET gbk NOT NULL,
  PRIMARY KEY (`id`),
  KEY `displayorder` (`displayorder`),
  KEY `name` (`name`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8;


对比的数据库结构如上


<?php//对比代码两个部分

 /*  先去掉注释运行这部分   然后加上注释   
$db=mysql_connect('localhost','qqtxt','zhh1981zhh');
if($db)
{
mysql_query("SET character_set_connection=utf8, character_set_results=utf8,character_set_client=binary");
mysql_select_db('la') or die('select_db failed');
set_magic_quotes_runtime(0);
//ini_set('magic_quotes_runtime','off');
echo $sql='SELECT * FROM `ylmf_site_search`';
$result = mysql_query($sql) or die('Query failed: ' . mysql_error());
$all=array();
while($row=mysql_fetch_assoc($result))
{
$all[]=$row;
}
file_put_contents("t.txt",serialize($all));
}exit;

*/   
define('PAGE_STARTED',microtime(true));
 header('Content-Type: text/html; charset=utf-8');
 if(false && file_exists('t.txt'))  //加上与去掉false&&   看对比效果
 {
$all=unserialize(file_get_contents("t.txt"));
foreach($all as $k =>$v)
{
if(strpos($v['name'],'百度')!==false)
print_r($v);
}
timeStatus(PAGE_STARTED);
 }
 else {echo "1<br/>";


$db=mysql_connect('localhost','qqtxt','zhh1981zhh');
if($db)
{
mysql_query("SET character_set_connection=utf8, character_set_results=utf8,character_set_client=binary");
mysql_select_db('la') or die('select_db failed');
set_magic_quotes_runtime(0);
//ini_set('magic_quotes_runtime','off');
$sql='SELECT * FROM `ylmf_site_search` where name like "%百度%"';
$result = mysql_query($sql) or die('Query failed: ' . mysql_error());
$all=array();
while($row=mysql_fetch_assoc($result))
{
print_r($row);
}

}
timeStatus(PAGE_STARTED);
 }

 /**
 * ()显示当前运行了多久,用于观查程序运行效率
 * @param
 * @return
 */
function timeStatus($pageStartTime){
printf("<br/>%.5f    %.5f    %.5f",$pageStartTime,$_time_=microtime(true),$_time_-$pageStartTime);
}


//mysql 序列化缓存到txt文件查找数据与直接查找数据 性能对比,13,601条数据文件缓存平均0.085秒后只需0.025秒
?>




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值