MySql - обработка поточных данных. |
Пост в продолжение обсуждения на Хабре (http://habrahabr.ru/blogs/webdev/54964/). Если у Вас идет большой поток данных, которые нужно сохранять в таблице и потом отображать пользователям, то очень правильно будет разнести все это на 2 таблицы. Одна для выдачи самых частых запросов, другая для медленных. А также таблицы в которых бы были предварительно подсчитанные данные. После такого разнесения все процедуры принимают вид, как показано ниже, на примере для времени:
Copy Source | Copy HTML
begin
DECLARE `datatable` VARCHAR(20) DEFAULT '`data`';
DECLARE `xtab_query` VARCHAR(4096) DEFAULT '';
if(DATE(`dfrom`) > DATE_SUB(NOW(), interval 8 DAY)) then
SET datatable := "`data_week`"; #last week
else
if(DATEDIFF(`dto`,`dfrom`)>60) then
SET datatable := "`data_ms`";#months
else
if(DATEDIFF(`dto`,`dfrom`)>14) then
SET datatable := "`data_ws`"; #weeks
end if;
end if;
end if;
SET xtab_query := CONCAT("select * FROM ",`datatable`," d ........and 1 screen of query...");
PREPARE `xtab_query` FROM @xtab_query;
EXECUTE `xtab_query`;
end
Комментировать | « Пред. запись — К дневнику — След. запись » | Страницы: [1] [Новые] |