1
0
Fork 0
mirror of https://github.com/Oreolek/ifhub.club.git synced 2024-07-02 22:45:02 +03:00

Оптимизация вывода статистики в разделе людей.

Так конструкция в запросе SELECT выполняется быстрее, т.к. именно по тому полю,
по которому был поиск идет подсчет, а когда поле подсчета указывается явно, как это сделано
сейчас (count(user_id)), то после выборки по условиям мускул начинает
ещё выковыривать user_id для каждой строки и только тогда считать по
этому полю.
This commit is contained in:
unknown 2012-02-16 17:59:53 +02:00
parent 13ecbc38d6
commit 317e39b8ee

View file

@ -283,20 +283,20 @@ class ModuleUser_MapperUser extends Mapper {
public function GetCountUsers() {
$sql = "SELECT count(user_id) as count FROM ".Config::Get('db.table.user')." WHERE user_activate = 1";
$sql = "SELECT count(*) as count FROM ".Config::Get('db.table.user')." WHERE user_activate = 1";
$result=$this->oDb->selectRow($sql);
return $result['count'];
}
public function GetCountUsersActive($sDateActive) {
$sql = "SELECT count(user_id) as count FROM ".Config::Get('db.table.session')." WHERE session_date_last >= ? ";
$sql = "SELECT count(*) as count FROM ".Config::Get('db.table.session')." WHERE session_date_last >= ? ";
$result=$this->oDb->selectRow($sql,$sDateActive);
return $result['count'];
}
public function GetCountUsersSex() {
$sql = "SELECT user_profile_sex AS ARRAY_KEY, count(user_id) as count FROM ".Config::Get('db.table.user')." WHERE user_activate = 1 GROUP BY user_profile_sex ";
$sql = "SELECT user_profile_sex AS ARRAY_KEY, count(*) as count FROM ".Config::Get('db.table.user')." WHERE user_activate = 1 GROUP BY user_profile_sex ";
$result=$this->oDb->select($sql);
return $result;
}
@ -308,7 +308,7 @@ class ModuleUser_MapperUser extends Mapper {
c.country_name as name
FROM (
SELECT
count(user_id) as count,
count(*) as count,
country_id
FROM
".Config::Get('db.table.country_user')."
@ -328,7 +328,7 @@ class ModuleUser_MapperUser extends Mapper {
c.city_name as name
FROM (
SELECT
count(user_id) as count,
count(*) as count,
city_id
FROM
".Config::Get('db.table.city_user')."