- Модуль: perfmon
- Путь к файлу: ~/bitrix/modules/perfmon/classes/general/query_stat.php
- Класс: CPerfQueryStat
- Вызов: CPerfQueryStat::IsSelective
static function IsSelective($table, $columns)
{
global $DB;
$arColumns = explode(",", $columns);
if (count($arColumns) != 1)
return false;
$arColumns = array_map(array($DB, 'ForSQL'), $arColumns);
$rs = $DB->Query("
select max(TABLE_ROWS) TABLE_ROWS, max(COLUMN_ROWS) COLUMN_ROWS
from b_perf_tab_column_stat
where TABLE_NAME = '".$DB->ForSQL($table)."'
AND COLUMN_NAME in ('".implode("','", $arColumns)."')
");
$ar = $rs->Fetch();
if ($ar && $ar["TABLE_ROWS"] > 0)
return $ar["COLUMN_ROWS"] / $ar["TABLE_ROWS"] > 0.05;
else
return false;
}