1
0
mirror of https://github.com/e107inc/e107.git synced 2025-08-06 14:46:56 +02:00

Speed up user selection on large DB

This commit is contained in:
e107steved
2008-03-23 21:22:16 +00:00
parent 0be9e2bb37
commit 244e28d066

View File

@@ -11,9 +11,9 @@
| GNU General Public License (http://gnu.org).
|
| $Source: /cvs_backup/e107_0.8/e107_files/shortcode/batch/user_shortcodes.php,v $
| $Revision: 1.8 $
| $Date: 2008-03-16 16:38:06 $
| $Author: asperon $
| $Revision: 1.9 $
| $Date: 2008-03-23 21:22:16 $
| $Author: e107steved $
+----------------------------------------------------------------------------+
*/
if (!defined('e107_INIT')) { exit; }
@@ -337,24 +337,19 @@ global $sql, $user, $full_perms;
if (!$full_perms) return;
if(!$userjump = getcachedvars('userjump'))
{
$sql->db_Select("user", "user_id, user_name", "ORDER BY user_id ASC", "no-where");
$c = 0;
while ($row = $sql->db_Fetch())
{
$array[$c]['id'] = $row['user_id'];
$array[$c]['name'] = $row['user_name'];
if ($row['user_id'] == $user['user_id'])
{
$userjump['prev']['id'] = $array[$c-1]['id'];
$userjump['prev']['name'] = $array[$c-1]['name'];
$row = $sql->db_Fetch();
$userjump['next']['id'] = $row['user_id'];
$userjump['next']['name'] = $row['user_name'];
break;
}
$c++;
}
cachevars('userjump', $userjump);
$sql->db_Select("user", "user_id, user_name", "`user_id` > ".intval($user['user_id'])." AND `user_ban`=0 ORDER BY user_id ASC LIMIT 1 ");
if ($row = $sql->db_Fetch())
{
$userjump['next']['id'] = $row['user_id'];
$userjump['next']['name'] = $row['user_name'];
}
$sql->db_Select("user", "user_id, user_name", "`user_id` < ".intval($user['user_id'])." AND `user_ban`=0 ORDER BY user_id DESC LIMIT 1 ");
if ($row = $sql->db_Fetch())
{
$userjump['prev']['id'] = $row['user_id'];
$userjump['prev']['name'] = $row['user_name'];
}
cachevars('userjump', $userjump);
}
if($parm == 'prev')
{