mysql 序列化缓存到txt文件查找数据与直接查找数据 性能对比,13,601条数据文件缓存平均0.085秒后只需0.025秒 推荐 程序员导航网http://www.je666.com
2011-10-24 03:30
651 查看
推荐
程序员导航网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秒
?>
相关文章推荐
- Oracle、PostgreSQL与Mysql数据写入性能对比
- 各数据交换格式性能对比(协议兼容性、序列化反序列化耗时、流量、可读性)
- sqlserver数据导出为txt文件再导入mysql
- 最老程序员创业札记:全文检索、数据挖掘、推荐引擎应用13
- MySQL mysqlimport 从txt文件中导入数据到mysql数据库
- mysql 导出数据到txt文件
- 黄聪:MYSQL5.6缓存性能优化my.ini文件配置方案
- 最老程序员创业札记:全文检索、数据挖掘、推荐引擎应用13
- MySql 中导入txt文本文件数据1
- 最老程序员创业札记:全文检索、数据挖掘、推荐引擎应用13
- 把txt文件的数据导入到mysql中2
- mysql 备份(直接拷贝数据文件)仅限myisam数据库可以
- linux上导入txt文件数据到mysql自己写的例子
- 最老程序员创业札记:全文检索、数据挖掘、推荐引擎应用13
- unserialize的这个问题是由一个emlog论坛用户在使用时报错而发现的 问题表现情况如下: emlog缓存的保存方式是将php的数据对象(数组)序列化(serialize)后以文件的形式存放,
- php中Apc和memcache缓存数据性能对比
- 将TXT文件导入MySQL,统计重复数据
- mysql 导入导出Excel、txt文件数据
- 直接拷贝数据文件导表MySQL-innodb
- txt数据文件 l批量导入mysql