mirror of
https://github.com/Oreolek/ifhub.club.git
synced 2024-07-05 07:54:24 +03:00
Оптимизация вывода статистики в разделе людей.
Так конструкция в запросе SELECT выполняется быстрее, т.к. именно по тому полю, по которому был поиск идет подсчет, а когда поле подсчета указывается явно, как это сделано сейчас (count(user_id)), то после выборки по условиям мускул начинает ещё выковыривать user_id для каждой строки и только тогда считать по этому полю.
This commit is contained in:
parent
13ecbc38d6
commit
317e39b8ee
|
@ -283,20 +283,20 @@ class ModuleUser_MapperUser extends Mapper {
|
||||||
|
|
||||||
|
|
||||||
public function GetCountUsers() {
|
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);
|
$result=$this->oDb->selectRow($sql);
|
||||||
return $result['count'];
|
return $result['count'];
|
||||||
}
|
}
|
||||||
|
|
||||||
public function GetCountUsersActive($sDateActive) {
|
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);
|
$result=$this->oDb->selectRow($sql,$sDateActive);
|
||||||
return $result['count'];
|
return $result['count'];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public function GetCountUsersSex() {
|
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);
|
$result=$this->oDb->select($sql);
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
@ -308,7 +308,7 @@ class ModuleUser_MapperUser extends Mapper {
|
||||||
c.country_name as name
|
c.country_name as name
|
||||||
FROM (
|
FROM (
|
||||||
SELECT
|
SELECT
|
||||||
count(user_id) as count,
|
count(*) as count,
|
||||||
country_id
|
country_id
|
||||||
FROM
|
FROM
|
||||||
".Config::Get('db.table.country_user')."
|
".Config::Get('db.table.country_user')."
|
||||||
|
@ -328,7 +328,7 @@ class ModuleUser_MapperUser extends Mapper {
|
||||||
c.city_name as name
|
c.city_name as name
|
||||||
FROM (
|
FROM (
|
||||||
SELECT
|
SELECT
|
||||||
count(user_id) as count,
|
count(*) as count,
|
||||||
city_id
|
city_id
|
||||||
FROM
|
FROM
|
||||||
".Config::Get('db.table.city_user')."
|
".Config::Get('db.table.city_user')."
|
||||||
|
|
Loading…
Reference in a new issue