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

Метки: Code | life


Добавить комментарий



biuquote
Loading


Кто я?

Программист. Я слежу за блогосферой и знаю, как будет развиваться интернет. Когда у меня есть время я даже прилагаю для этого усилия. Подробнее

Последние комментарии

Topbot at FeedsBurner

Копирайт

Все мысли, высказанные в блоге, являются моим мнением и за это мнение меня никто не забанит! Кроме того, никто не имеет право копировать материалы блога без использования ctrl+C/V!

© Copyright 2008