Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   Разработка расширений / TYPO3 extension development (http://forum.typo3.ru/forumdisplay.php?f=38)
-   -   Ускорить выборку из sys_log (http://forum.typo3.ru/showthread.php?t=9240)

Gemini 09.02.2011 09:03

Ускорить выборку из sys_log
 
Здравствуйте всем.

На днях пришлось копипастом и напильником собрать себе расширение для показа последних обновлений на сайте.

Суть расширения - вытаскиваются строки из sys_log, отсортированные и сгруппированные по tstamp.

Вытаскивается это все функцией:

PHP код:

$res $GLOBALS['TYPO3_DB']->exec_SELECTquery(
            
'sys_log.*, max(sys_log.tstamp) AS tstamp_MAX',
            
'sys_log',
            
$logWhere,
            
'tablename,recuid',
            
'tstamp_MAX DESC',
            
$numberOfRecent
        
); 

С sys_log в 10К записей - это работало невероятно долго (честно говоря, ни разу даже не дождался)

Очистил sys_log - все стало работать быстро и корректно.

Вопрос. Подскажите как изменить запрос, чтоб все работало быстро и на такой большой таблице, или же подскажите как ограничить количество записей в sys_log или как автоматически очищать sys_log.

void 09.02.2011 13:08

Вместо агрегирующей функции сделайте ORDER BY tstamp DESC. Возможно надо добавить в таблицу индекс по полю tstamp


Часовой пояс GMT +4, время: 01:20.

Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot