суббота, 9 февраля 2013 г.

автоматически добавляется limit sql

                            det_high_selective_column  int(10) unsigned not null,

create table entity_details(edet_id                     int(10) unsigned auto_increment,

                  )

                    constraint pk_entity primary key(entt_id)

                    data_column             varchar(32),

                    low_selective_column    int(10) unsigned not null,

                    high_selective_column  int(10) unsigned not null,

                    order_column            datetime,

create table entity(entt_id                 int(10) unsigned auto_increment,

    from information_schema.global_status g1, information_schema.global_status g2

 primary key pk_pivot (row_number)

 row_number         int(4) unsigned auto_increment,

drop table if exists entity_details;

Используя sql задачу можно сформулировать следующим образом:

Решать такие задачи всегда интересно, но их решение сильно зависит от СУБД, под управлением которой крутится твоя база данных. Если у тебя в рукаве козырной туз в виде Oracle, то есть шанс, что эти костыли он подставит сам. Но спустимся на землю у нас есть только MySQL, так что придется почитать теорию.

Предположим, имеется некоторые сущности А и Б, связанные между собой по принципу One-to-Many. Количество экземпляров данных сущностей достаточно велико. При отображении сущностей для пользователя необходимо применить ряд независимых критериев, как для сущности А так и для сущности Б. Причем результатом применения критериев являются множества достаточно большой мощности порядка нескольких миллионов записей. Критерии фильтрации и принцип сортировки задается пользователем. Как (я бы ещё спросил: Зачем им миллионы записей на одном экране? но говорят надо) показать все это пользователю за время 0 секунд?

Есть задачи, которые в рамках реляционных СУБД не имеют универсальных решений и для того чтобы получить хоть какой-то приемлемый результат, приходится придумывать целый набор костылей, который ты потом гордо называешь Архитектура . Не так давно мне как раз встретилась именно такая.

Как MySQL оптимизирует ORDER BY, LIMIT и DISTINCT

8 августа 2011 в 18:22

Как MySQL оптимизирует ORDER BY, LIMIT и DISTINCT / Хабрахабр

Комментариев нет:

Отправить комментарий