我有一个小问题,在获得最快的方式来工作我的PHP服务器(在制作游戏)。
这是我在PHP中的函数:
function getSomeInfoByDataId($id) {
$arr = mysql_fetch_array(mysql_query("SELECT * FROM maps WHERE id='".$id."' LIMIT 1;"));
if(!empty($arr)) {
return $arr;
}
}
//$user - is array with all details from loged-in user问:加速PHP服务器的最好和最快的方法是什么?
方式1。
$myArray = array(
'map_id' => getSomeInfoByDataId($user['map'])['id'],
'map_name' => getSomeInfoByDataId($user['map'])['name'],
'map_pvp' => getSomeInfoByDataId($user['map'])['pvp'],
'map_img' => getSomeInfoByDataId($user['map'])['img']
);方式2。
$mapInfo = getSomeInfoByDataId($user['map']);
$myArray = array(
'map_id' => $mapInfo['id'],
'map_name' => $mapInfo['name'],
'map_pvp' => $mapInfo['pvp'],
'map_img' => $mapInfo['img']
);如果这个问题有点疯狂,很抱歉,但对我来说非常重要。
发布于 2017-09-25 06:04:03
选项1是让您调用数据库四次,以获得与第一次调用中获得的完全相同的信息。
从逻辑上考虑,做同样的事情怎么会比做一次快四倍?
选项2确实是最快的,但是,您甚至不需要将的结果存储在$myArray中,因为您已经在$mapInfo中存储了该数据。
$myArray的唯一好处是每个值都有一个“更容易读”的键,这些键已经足够容易读了。
EDIT:正如评论中所说,您正在使用一个已弃用的函数来调用数据库。一定要考虑使用PDO prepared statements来避免SQL注入。
https://stackoverflow.com/questions/46392512
复制相似问题