Add force index in report mysql request to avoid full scan table

This commit is contained in:
Nicolas Le Goff
2012-11-14 16:58:16 +01:00
parent 291e46c21a
commit 3c318c5c6e
8 changed files with 72 additions and 76 deletions

View File

@@ -113,8 +113,8 @@ class module_report_activity extends module_report
$sql = " $sql = "
SELECT DATE_FORMAT( log.date, '%k' ) AS heures, SUM(1) AS nb SELECT DATE_FORMAT( log.date, '%k' ) AS heures, SUM(1) AS nb
FROM (log) FROM log FORCE INDEX (date_site)
INNER JOIN log_colls ON (log.id = log_colls.log_id) INNER JOIN log_colls FORCE INDEX (couple) ON (log.id = log_colls.log_id)
WHERE " . $date_filter['sql'] . " WHERE " . $date_filter['sql'] . "
AND " . $coll_filter['sql'] . " AND " . $coll_filter['sql'] . "
AND " . $site_filter['sql'] . " AND " . $site_filter['sql'] . "
@@ -179,8 +179,8 @@ class module_report_activity extends module_report
SELECT DATE_FORMAT(log_search.date,'%Y-%m-%d %H:%i:%S') as date , SELECT DATE_FORMAT(log_search.date,'%Y-%m-%d %H:%i:%S') as date ,
log_search.search ,log_search.results log_search.search ,log_search.results
FROM (log_search) FROM (log_search)
INNER JOIN log ON (log.id = log_search.log_id) INNER JOIN log FORCE INDEX (date_site) ON (log.id = log_search.log_id)
INNER JOIN log_colls ON (log.id = log_colls.log_id) INNER JOIN log_colls FORCE INDEX (couple) ON (log.id = log_colls.log_id)
WHERE log_search.date > " . $date_filter['sql'] . " WHERE log_search.date > " . $date_filter['sql'] . "
AND log.`" . $what . "` = :main_value AND log.`" . $what . "` = :main_value
AND " . $site_filter['sql'] . " AND " . $site_filter['sql'] . "
@@ -244,8 +244,8 @@ class module_report_activity extends module_report
SUM(1) as nb, SUM(1) as nb,
ROUND(avg(results)) as nb_rep ROUND(avg(results)) as nb_rep
FROM (log_search) FROM (log_search)
INNER JOIN log ON (log_search.log_id = log.id) INNER JOIN log FORCE INDEX (date_site) ON (log_search.log_id = log.id)
INNER JOIN log_colls ON (log.id = log_colls.log_id) INNER JOIN log_colls FORCE INDEX (couple) ON (log.id = log_colls.log_id)
WHERE " . $date_filter['sql'] . " WHERE " . $date_filter['sql'] . "
AND log_search.search != 'all' AND log_search.search != 'all'
AND (" . $coll_filter['sql'] . ")"; AND (" . $coll_filter['sql'] . ")";
@@ -315,8 +315,8 @@ class module_report_activity extends module_report
SELECT log_docs.record_id, SELECT log_docs.record_id,
log_docs.date, log_docs.final as objets log_docs.date, log_docs.final as objets
FROM (`log_docs`) FROM (`log_docs`)
INNER JOIN log ON (log_docs.log_id = log.id) INNER JOIN log FORCE INDEX (date_site) ON (log_docs.log_id = log.id)
INNER JOIN log_colls ON (log.id = log_colls.log_id) INNER JOIN log_colls FORCE INDEX (couple) ON (log.id = log_colls.log_id)
INNER JOIN record ON (log_docs.record_id = record.record_id) INNER JOIN record ON (log_docs.record_id = record.record_id)
WHERE log_docs.action = 'download' WHERE log_docs.action = 'download'
AND " . $date_filter['sql'] . " AND " . $date_filter['sql'] . "
@@ -393,8 +393,8 @@ class module_report_activity extends module_report
final final
FROM (log_docs) FROM (log_docs)
INNER JOIN record ON (record.record_id = log_docs.record_id) INNER JOIN record ON (record.record_id = log_docs.record_id)
INNER JOIN log ON (" . $site_filter['sql'] . " AND log.id = log_docs.log_id) INNER JOIN log FORCE INDEX (date_site) ON (" . $site_filter['sql'] . " AND log.id = log_docs.log_id)
INNER JOIN log_colls ON (log.id = log_colls.log_id) INNER JOIN log_colls FORCE INDEX (couple) ON (log.id = log_colls.log_id)
LEFT JOIN subdef AS s ON (s.record_id = log_docs.record_id AND s.name = log_docs.final) LEFT JOIN subdef AS s ON (s.record_id = log_docs.record_id AND s.name = log_docs.final)
WHERE " . $date_filter['sql'] . " WHERE " . $date_filter['sql'] . "
AND (log_docs.final != 'caption') AND (log_docs.final != 'caption')
@@ -489,12 +489,12 @@ class module_report_activity extends module_report
SELECT DISTINCT(log." . $on . ") as " . $on . ", SELECT DISTINCT(log." . $on . ") as " . $on . ",
usrid, usrid,
SUM(1) as connexion SUM(1) as connexion
FROM (log) FROM log FORCE INDEX (date_site)
INNER JOIN log_colls ON (log.id = log_colls.log_id) INNER JOIN log_colls FORCE INDEX (couple) ON (log.id = log_colls.log_id)
WHERE log.user != 'API' WHERE log.user != 'API'
AND " . $site_filter['sql'] . " AND " . $site_filter['sql'] . "
AND " . $date_filter['sql'] . " AND " . $date_filter['sql'] . "
AND (" . $coll_filter['sql'] . ") AND " . $coll_filter['sql'] . "
GROUP BY " . $on . " GROUP BY " . $on . "
ORDER BY connexion DESC "; ORDER BY connexion DESC ";
@@ -589,10 +589,10 @@ class module_report_activity extends module_report
final, sum(1) as nb, final, sum(1) as nb,
sum(size) as poid sum(size) as poid
FROM (log_docs as d) FROM (log_docs as d)
INNER JOIN log ON (" . $site_filter['sql'] . " INNER JOIN log FORCE INDEX (date_site) ON (" . $site_filter['sql'] . "
AND log.id = d.log_id AND log.id = d.log_id
AND " . $date_filter['sql'] . ") AND " . $date_filter['sql'] . ")
INNER JOIN log_colls ON (log.id = log_colls.log_id) INNER JOIN log_colls FORCE INDEX (couple) ON (log.id = log_colls.log_id)
INNER JOIN record ON record.record_id = d.record_id INNER JOIN record ON record.record_id = d.record_id
LEFT JOIN subdef as s on ((d.action = 'download' OR d.action = 'mail') LEFT JOIN subdef as s on ((d.action = 'download' OR d.action = 'mail')
AND s.record_id=d.record_id and s.name=d.final AND s.record_id=d.record_id and s.name=d.final
@@ -712,10 +712,10 @@ class module_report_activity extends module_report
$sql = " $sql = "
SELECT log.usrid, log.user , d.final as getter, d.record_id, d.date, s.* SELECT log.usrid, log.user , d.final as getter, d.record_id, d.date, s.*
FROM (log_docs as d) FROM (log_docs as d)
INNER JOIN log ON (" . $site_filter['sql'] . " INNER JOIN log FORCE INDEX (date_site) ON (" . $site_filter['sql'] . "
AND log.id = d.log_id AND log.id = d.log_id
AND " . $date_filter['sql'] . ") AND " . $date_filter['sql'] . ")
INNER JOIN log_colls ON (log.id = log_colls.log_id) INNER JOIN log_colls FORCE INDEX (couple) ON (log.id = log_colls.log_id)
INNER JOIN record ON (record.record_id = d.record_id) INNER JOIN record ON (record.record_id = d.record_id)
LEFT JOIN subdef as s ON (s.record_id=d.record_id and s.name='document') LEFT JOIN subdef as s ON (s.record_id=d.record_id and s.name='document')
WHERE ((" . $coll_filter['sql'] . ") AND " . $record_filter['sql'] . " AND d.action='push') WHERE ((" . $coll_filter['sql'] . ") AND " . $record_filter['sql'] . " AND d.action='push')
@@ -781,10 +781,10 @@ class module_report_activity extends module_report
$sql = " $sql = "
SELECT log.usrid, user, final, sum(1) AS nb, sum(size) AS poid SELECT log.usrid, user, final, sum(1) AS nb, sum(size) AS poid
FROM (log_docs AS log_date) FROM (log_docs AS log_date)
INNER JOIN log ON (log.site = :site_id INNER JOIN log FORCE INDEX (date_site) ON (log.site = :site_id
AND log.id = log_date.log_id AND log.id = log_date.log_id
AND " . $datefilter['sql'] . ") AND " . $datefilter['sql'] . ")
INNER JOIN log_colls ON (log.id = log_colls.log_id) INNER JOIN log_colls FORCE INDEX (couple) ON (log.id = log_colls.log_id)
LEFT JOIN subdef AS s ON (log_date.action = 'download' LEFT JOIN subdef AS s ON (log_date.action = 'download'
AND s.record_id = log_date.record_id AND s.record_id = log_date.record_id
AND s.name = log_date.final AND s.name = log_date.final
@@ -856,10 +856,10 @@ class module_report_activity extends module_report
$sql = " $sql = "
SELECT log_date.id, HOUR(log_date.date) as heures SELECT log_date.id, HOUR(log_date.date) as heures
FROM (log as log_date) FROM log as log_date FORCE INDEX (date_site)
INNER JOIN log_colls ON (log_date.id = log_colls.log_id) INNER JOIN log_colls FORCE INDEX (couple) ON (log_date.id = log_colls.log_id)
WHERE " . $datefilter['sql'] . " WHERE " . $datefilter['sql'] . "
AND (" . $collfilter['sql'] . ") AND " . $collfilter['sql'] . "
AND log_date.site = :site_id"; AND log_date.site = :site_id";
$stmt = $conn->prepare($sql); $stmt = $conn->prepare($sql);
@@ -899,7 +899,7 @@ class module_report_activity extends module_report
SELECT DISTINCT ( SELECT DISTINCT (
DATE_FORMAT( log_date.date, '%Y-%m-%d' ) DATE_FORMAT( log_date.date, '%Y-%m-%d' )
) AS ddate, COUNT( DATE_FORMAT( log_date.date, '%d' ) ) AS activity ) AS ddate, COUNT( DATE_FORMAT( log_date.date, '%d' ) ) AS activity
FROM log as log_date INNER JOIN log_colls ON (log_date.id = log_colls.log_id) FROM log as log_date FORCE INDEX (date_site) INNER JOIN log_colls FORCE INDEX (couple) ON (log_date.id = log_colls.log_id)
WHERE " . $datefilter['sql'] . " WHERE " . $datefilter['sql'] . "
AND log_date.site = :site_id AND log_date.site = :site_id
AND (" . $collfilter['sql'] . ") AND (" . $collfilter['sql'] . ")
@@ -938,8 +938,8 @@ class module_report_activity extends module_report
$sql = " $sql = "
SELECT log_date.usrid, log_date.user, sum(1) AS nb SELECT log_date.usrid, log_date.user, sum(1) AS nb
FROM (`log_search`) FROM (`log_search`)
INNER JOIN log as log_date ON (log_search.log_id = log_date.id) INNER JOIN log as log_date FORCE INDEX (date_site) ON (log_search.log_id = log_date.id)
INNER JOIN log_colls ON (log_date.id = log_colls.log_id) INNER JOIN log_colls FORCE INDEX (couple) ON (log_date.id = log_colls.log_id)
WHERE " . $datefilter['sql'] . " WHERE " . $datefilter['sql'] . "
AND log_date.site = :site_id AND log_date.site = :site_id
AND (" . $collfilter['sql'] . ") AND (" . $collfilter['sql'] . ")
@@ -979,8 +979,8 @@ class module_report_activity extends module_report
log_date.user, log_date.user,
sum(1) AS nb sum(1) AS nb
FROM (`log_search`) FROM (`log_search`)
INNER JOIN log as log_date ON (log_search.log_id = log_date.id) INNER JOIN log as log_date FORCE INDEX (date_site) ON (log_search.log_id = log_date.id)
INNER JOIN log_colls ON (log_date.id = log_colls.log_id) INNER JOIN log_colls FORCE INDEX (couple) ON (log_date.id = log_colls.log_id)
WHERE " . $datefilter['sql'] . " WHERE " . $datefilter['sql'] . "
AND log_date.site = :site_id AND log_date.site = :site_id
AND (" . $collfilter['sql'] . ") AND (" . $collfilter['sql'] . ")
@@ -1017,8 +1017,8 @@ class module_report_activity extends module_report
$sql = " $sql = "
SELECT referrer, COUNT(referrer) as nb_view SELECT referrer, COUNT(referrer) as nb_view
FROM (log_view) FROM (log_view)
INNER JOIN log as log_date ON (log_view.log_id = log_date.id) INNER JOIN log as log_date FORCE INDEX (date_site) ON (log_view.log_id = log_date.id)
INNER JOIN log_colls ON (log_date.id = log_colls.log_id) INNER JOIN log_colls FORCE INDEX (couple) ON (log_date.id = log_colls.log_id)
WHERE " . $datefilter['sql'] . " WHERE " . $datefilter['sql'] . "
AND (" . $collfilter['sql'] . ") AND (" . $collfilter['sql'] . ")
GROUP BY referrer GROUP BY referrer
@@ -1059,8 +1059,8 @@ class module_report_activity extends module_report
DATE_FORMAT( log_date.date, '%Y-%m-%d' ) DATE_FORMAT( log_date.date, '%Y-%m-%d' )
) AS ddate, COUNT( DATE_FORMAT( log_date.date, '%d' ) ) AS activity ) AS ddate, COUNT( DATE_FORMAT( log_date.date, '%d' ) ) AS activity
FROM (log_docs as log_date) FROM (log_docs as log_date)
INNER JOIN log ON (log_date.log_id = log.id) INNER JOIN log FORCE INDEX (date_site) ON (log_date.log_id = log.id)
INNER JOIN log_colls ON (log.id = log_colls.log_id) INNER JOIN log_colls FORCE INDEX (couple) ON (log.id = log_colls.log_id)
WHERE " . $datefilter['sql'] . " AND log_date.action = 'add' WHERE " . $datefilter['sql'] . " AND log_date.action = 'add'
AND (" . $collfilter['sql'] . ") AND (" . $collfilter['sql'] . ")
GROUP BY ddate GROUP BY ddate
@@ -1093,8 +1093,8 @@ class module_report_activity extends module_report
DATE_FORMAT( log_date.date, '%Y-%m-%d' ) DATE_FORMAT( log_date.date, '%Y-%m-%d' )
) AS ddate, COUNT( DATE_FORMAT( log_date.date, '%d' ) ) AS activity ) AS ddate, COUNT( DATE_FORMAT( log_date.date, '%d' ) ) AS activity
FROM (log_docs as log_date) FROM (log_docs as log_date)
INNER JOIN log ON log_date.log_id = log.id INNER JOIN log FORCE INDEX (date_sit) ON log_date.log_id = log.id
INNER JOIN log_colls ON (log.id = log_colls.log_id) INNER JOIN log_colls FORCE INDEX (couple) ON (log.id = log_colls.log_id)
WHERE " . $datefilter['sql'] . " AND log_date.action = 'edit' WHERE " . $datefilter['sql'] . " AND log_date.action = 'edit'
AND (" . $collfilter['sql'] . ") AND (" . $collfilter['sql'] . ")
GROUP BY ddate GROUP BY ddate
@@ -1126,8 +1126,8 @@ class module_report_activity extends module_report
$sql = " $sql = "
SELECT log.usrid, log.user, sum( 1 ) AS nb SELECT log.usrid, log.user, sum( 1 ) AS nb
FROM (log_docs as log_date) FROM (log_docs as log_date)
INNER JOIN log ON (log_date.log_id = log.id) INNER JOIN log FORCE INDEX (date_site) ON (log_date.log_id = log.id)
INNER JOIN log_colls ON (log.id = log_colls.log_id) INNER JOIN log_colls FORCE INDEX (couple) ON (log.id = log_colls.log_id)
WHERE " . $datefilter['sql'] . " AND log_date.action = 'add' WHERE " . $datefilter['sql'] . " AND log_date.action = 'add'
AND (" . $collfilter['sql'] . ") AND (" . $collfilter['sql'] . ")
GROUP BY log.usrid GROUP BY log.usrid

View File

@@ -148,12 +148,12 @@ class module_report_connexion extends module_report
$params = array_merge($params, $datefilter['params'], $collfilter['params']); $params = array_merge($params, $datefilter['params'], $collfilter['params']);
$finalfilter = $datefilter['sql'] . ' AND '; $finalfilter = $datefilter['sql'] . ' AND ';
$finalfilter .= '(' . $collfilter['sql'] . ') AND '; $finalfilter .= $collfilter['sql'] . ' AND ';
$finalfilter .= 'log_date.site = :site_id'; $finalfilter .= 'log_date.site = :site_id';
$sql = "SELECT COUNT(usrid) as nb $sql = "SELECT COUNT(usrid) as nb
FROM (log as log_date) FROM log as log_date FORCE INDEX (date_site)
INNER JOIN log_colls ON (log.id = log_colls.log_id) INNER JOIN log_colls FORCE INDEX (couple) ON (log.id = log_colls.log_id)
WHERE " . $finalfilter; WHERE " . $finalfilter;
$stmt = $conn->prepare($sql); $stmt = $conn->prepare($sql);

View File

@@ -187,12 +187,11 @@ class module_report_download extends module_report
$sql = ' $sql = '
SELECT SUM(1) AS nb SELECT SUM(1) AS nb
FROM (log) FROM log FORCE INDEX (date_site)
INNER JOIN log_colls FORCE INDEX (couple) ON (log.id = log_colls.log_id)
INNER JOIN log_docs as log_date ON (log.id = log_date.log_id) INNER JOIN log_docs as log_date ON (log.id = log_date.log_id)
INNER JOIN record ON (log_date.record_id = record.record_id) INNER JOIN record ON (log_date.record_id = record.record_id)
WHERE ( WHERE ' . $finalfilter . '
' . $finalfilter . '
)
AND ( AND (
log_date.action = \'download\' log_date.action = \'download\'
OR log_date.action = \'mail\' OR log_date.action = \'mail\'

View File

@@ -69,18 +69,15 @@ class module_report_nav extends module_report
$report_filter = $filter->getReportFilter(); $report_filter = $filter->getReportFilter();
$coll_filter = $filter->getCollectionFilter(); $coll_filter = $filter->getCollectionFilter();
$site_filter = $filter->getGvSitFilter(); $site_filter = $filter->getGvSitFilter();
$params = array_merge($report_filter['params'], $coll_filter['params'], $site_filter['params']); $params = array_merge($report_filter['params']);
$sql = ' $sql = '
SELECT SELECT
SUM(1) AS total SUM(1) AS total
FROM (log) FROM log FORCE INDEX (date_site)
INNER JOIN log_colls ON (log.id = log_colls.log_id) INNER JOIN log_colls FORCE INDEX (couple) ON (log.id = log_colls.log_id)
WHERE (' . $report_filter['sql'] . ' WHERE ' . $report_filter['sql'] . ' AND nav != ""
AND nav != TRIM(\'\') ';
)
AND ' . $site_filter['sql'] . '
AND (' . $coll_filter['sql'] . ')';
$stmt = $s->getConnBas()->prepare($sql); $stmt = $s->getConnBas()->prepare($sql);
$stmt->execute($params); $stmt->execute($params);

View File

@@ -54,8 +54,8 @@ class module_report_sqlaction extends module_report_sql implements module_report
" "
SELECT log.usrid, log.user , d.final as getter, d.record_id, d.date, s.* SELECT log.usrid, log.user , d.final as getter, d.record_id, d.date, s.*
FROM (log_docs as d) FROM (log_docs as d)
INNER JOIN log ON (" . $site_filter['sql'] . " AND log.id = d.log_id) INNER JOIN log FORCE INDEX (date_site) ON (" . $site_filter['sql'] . " AND log.id = d.log_id)
INNER JOIN log_colls ON (log.id = log_colls.log_id) INNER JOIN log_colls FORCE INDEX (couple) ON (log.id = log_colls.log_id)
INNER JOIN record ON (record.record_id = d.record_id) INNER JOIN record ON (record.record_id = d.record_id)
LEFT JOIN subdef as s ON (s.record_id=d.record_id and s.name='document') LEFT JOIN subdef as s ON (s.record_id=d.record_id and s.name='document')
WHERE"; WHERE";
@@ -87,8 +87,8 @@ class module_report_sqlaction extends module_report_sql implements module_report
as " . $this->groupby . ", as " . $this->groupby . ",
SUM(1) as nombre SUM(1) as nombre
FROM (log_docs as d) FROM (log_docs as d)
INNER JOIN log ON (" . $site_filter['sql'] . " AND log.id = d.log_id) INNER JOIN log FORCE INDEX (date_site) ON (" . $site_filter['sql'] . " AND log.id = d.log_id)
INNER JOIN log_colls ON (log.id = log_colls.log_id) INNER JOIN log_colls FORCE INDEX (couple) ON (log.id = log_colls.log_id)
INNER JOIN record ON (record.record_id = d.record_id) INNER JOIN record ON (record.record_id = d.record_id)
LEFT JOIN subdef as s ON (s.record_id=d.record_id and s.name='document') LEFT JOIN subdef as s ON (s.record_id=d.record_id and s.name='document')
WHERE "; WHERE ";
@@ -123,10 +123,10 @@ class module_report_sqlaction extends module_report_sql implements module_report
$sql = " $sql = "
SELECT DISTINCT(" . $this->getTransQuery($field) . ") as val SELECT DISTINCT(" . $this->getTransQuery($field) . ") as val
FROM (log_docs as d) FROM (log_docs as d)
INNER JOIN log ON (" . $site_filter['sql'] . " INNER JOIN log FORCE INDEX (date_site) ON (" . $site_filter['sql'] . "
AND log.id = d.log_id AND log.id = d.log_id
AND " . $date_filter['sql'] . ") AND " . $date_filter['sql'] . ")
INNER JOIN log_colls ON (log.id = log_colls.log_id) INNER JOIN log_colls FORCE INDEX (couple) ON (log.id = log_colls.log_id)
INNER JOIN record ON (record.record_id = d.record_id) INNER JOIN record ON (record.record_id = d.record_id)
LEFT JOIN subdef as s ON (s.record_id=d.record_id AND s.name='document') LEFT JOIN subdef as s ON (s.record_id=d.record_id AND s.name='document')
WHERE "; WHERE ";

View File

@@ -61,8 +61,8 @@ class module_report_sqlconnexion extends module_report_sql implements module_rep
$this->sql = " $this->sql = "
SELECT TRIM(" . $this->getTransQuery($this->groupby) . ") SELECT TRIM(" . $this->getTransQuery($this->groupby) . ")
as " . $this->groupby . ", SUM(1) as nb as " . $this->groupby . ", SUM(1) as nb
FROM (log) FROM log FORCE INDEX (date_site)
INNER JOIN log_colls ON (log.id = log_colls.log_id)"; INNER JOIN log_colls FORCE INDEX (couple) ON (log.id = log_colls.log_id)";
if ($report_filter['sql']) if ($report_filter['sql'])
$this->sql .= " WHERE " . $report_filter['sql']; $this->sql .= " WHERE " . $report_filter['sql'];
@@ -86,8 +86,8 @@ class module_report_sqlconnexion extends module_report_sql implements module_rep
$sql = ' $sql = '
SELECT DISTINCT(' . $this->getTransQuery($field) . ') as val SELECT DISTINCT(' . $this->getTransQuery($field) . ') as val
FROM (log) FROM log FORCE INDEX (date_site)
INNER JOIN log_colls ON (log.id = log_colls.log_id)'; INNER JOIN log_colls FORCE INDEX (couple) ON (log.id = log_colls.log_id)';
if ($report_filter['sql']) if ($report_filter['sql'])
$sql .= ' WHERE ' . $report_filter['sql']; $sql .= ' WHERE ' . $report_filter['sql'];

View File

@@ -52,9 +52,9 @@ class module_report_sqldownload extends module_report_sql implements module_repo
log_docs.record_id, log_docs.record_id,
log_docs.final, log_docs.final,
log_docs.comment log_docs.comment
FROM (log) FROM log FORCE INDEX (date_site)
INNER JOIN log_docs ON (log.id = log_docs.log_id) INNER JOIN log_docs ON (log.id = log_docs.log_id)
INNER JOIN log_colls ON (log.id = log_colls.log_id) INNER JOIN log_colls FORCE INDEX (couple) ON (log.id = log_colls.log_id)
INNER JOIN record ON (log_docs.record_id = record.record_id) INNER JOIN record ON (log_docs.record_id = record.record_id)
WHERE "; WHERE ";
@@ -88,9 +88,9 @@ class module_report_sqldownload extends module_report_sql implements module_repo
subdef.size, subdef.size,
subdef.file, subdef.file,
subdef.mime subdef.mime
FROM (log) FROM log FORCE INDEX (date_site)
INNER JOIN log_docs ON (log.id = log_docs.log_id) INNER JOIN log_docs ON (log.id = log_docs.log_id)
INNER JOIN log_colls ON (log.id = log_colls.log_id) INNER JOIN log_colls FORCE INDEX (couple) ON (log.id = log_colls.log_id)
INNER JOIN record ON (log_docs.record_id = record.record_id) INNER JOIN record ON (log_docs.record_id = record.record_id)
INNER JOIN subdef ON (log_docs.record_id = subdef.record_id AND subdef.name = log_docs.final) INNER JOIN subdef ON (log_docs.record_id = subdef.record_id AND subdef.name = log_docs.final)
WHERE WHERE
@@ -100,9 +100,9 @@ class module_report_sqldownload extends module_report_sql implements module_repo
SELECT SELECT
TRIM(' . $field . ') AS ' . $name . ', TRIM(' . $field . ') AS ' . $name . ',
SUM(1) AS telechargement SUM(1) AS telechargement
FROM ( log ) FROM log FORCE INDEX (date_site)
INNER JOIN log_docs ON (log.id = log_docs.log_id) INNER JOIN log_docs ON (log.id = log_docs.log_id)
INNER JOIN log_colls ON (log.id = log_colls.log_id) INNER JOIN log_colls FORCE INDEX (couple) ON (log.id = log_colls.log_id)
INNER JOIN record ON (log_docs.record_id = record.record_id) INNER JOIN record ON (log_docs.record_id = record.record_id)
INNER JOIN subdef ON ( log_docs.record_id = subdef.record_id AND subdef.name = log_docs.final) INNER JOIN subdef ON ( log_docs.record_id = subdef.record_id AND subdef.name = log_docs.final)
WHERE'; WHERE';
@@ -112,9 +112,9 @@ class module_report_sqldownload extends module_report_sql implements module_repo
SELECT SELECT
TRIM( ' . $this->getTransQuery($this->groupby) . ') AS ' . $name . ', TRIM( ' . $this->getTransQuery($this->groupby) . ') AS ' . $name . ',
SUM(1) AS nombre SUM(1) AS nombre
FROM ( log ) FROM log FORCE INDEX (date_site)
INNER JOIN log_docs ON (log.id = log_docs.log_id) INNER JOIN log_docs ON (log.id = log_docs.log_id)
INNER JOIN log_colls ON (log.id = log_colls.log_id) INNER JOIN log_colls FORCE INDEX (couple) ON (log.id = log_colls.log_id)
INNER JOIN record ON (log_docs.record_id = record.record_id) INNER JOIN record ON (log_docs.record_id = record.record_id)
INNER JOIN subdef ON (record.record_id = subdef.record_id AND subdef.name = "document") INNER JOIN subdef ON (record.record_id = subdef.record_id AND subdef.name = "document")
WHERE '; WHERE ';
@@ -154,9 +154,9 @@ class module_report_sqldownload extends module_report_sql implements module_repo
$sql = ' $sql = '
SELECT DISTINCT( ' . $this->getTransQuery($field) . ' ) AS val SELECT DISTINCT( ' . $this->getTransQuery($field) . ' ) AS val
FROM (log) FROM log FORCE INDEX (date_site)
INNER JOIN log_docs ON (log.id = log_docs.log_id) INNER JOIN log_docs ON (log.id = log_docs.log_id)
INNER JOIN log_colls ON (log.id = log_colls.log_id) INNER JOIN log_colls FORCE INDEX (couple) ON (log.id = log_colls.log_id)
INNER JOIN record ON (log_docs.record_id = record.record_id) INNER JOIN record ON (log_docs.record_id = record.record_id)
INNER JOIN subdef ON (log_docs.record_id = subdef.record_id) INNER JOIN subdef ON (log_docs.record_id = subdef.record_id)
WHERE '; WHERE ';

View File

@@ -44,8 +44,8 @@ class module_report_sqlquestion extends module_report_sql implements module_repo
activite, activite,
fonction fonction
FROM (`log_search`) FROM (`log_search`)
INNER JOIN log ON (log.id = log_search.log_id) INNER JOIN log FORCE INDEX (date_site) ON (log.id = log_search.log_id)
INNER JOIN log_colls ON (log.id = log_colls.log_id)"; INNER JOIN log_colls FORCE INDEX (couple) ON (log.id = log_colls.log_id)";
$this->sql .= " WHERE " . $report_filter['sql']; $this->sql .= " WHERE " . $report_filter['sql'];
@@ -63,8 +63,8 @@ class module_report_sqlquestion extends module_report_sql implements module_repo
TRIM(" . $this->getTransQuery($this->groupby) . ") as " . $this->groupby . ", TRIM(" . $this->getTransQuery($this->groupby) . ") as " . $this->groupby . ",
SUM(1) as nb SUM(1) as nb
FROM (`log_search`) FROM (`log_search`)
INNER JOIN log ON (log.id = log_search.log_id) INNER JOIN log FORCE INDEX (date_site) ON (log.id = log_search.log_id)
INNER JOIN log_colls ON (log.id = log_colls.log_id) INNER JOIN log_colls FORCE INDEX (couple) ON (log.id = log_colls.log_id)
"; ";
$this->sql .= " WHERE " . $report_filter['sql']; $this->sql .= " WHERE " . $report_filter['sql'];
@@ -89,8 +89,8 @@ class module_report_sqlquestion extends module_report_sql implements module_repo
$sql = " $sql = "
SELECT DISTINCT(" . $this->getTransQuery($field) . ") as val SELECT DISTINCT(" . $this->getTransQuery($field) . ") as val
FROM (`log_search`) FROM (`log_search`)
INNER JOIN log ON (log.id = log_search.log_id) INNER JOIN log FORCE INDEX (date_site) ON (log.id = log_search.log_id)
INNER JOIN log_colls ON (log.id = log_colls.log_id) INNER JOIN log_colls FORCE INDEX (couple) ON (log.id = log_colls.log_id)
"; ";
if ($report_filter['sql']) if ($report_filter['sql'])