IBMDB2 выберите запрос для миллионов данных - PullRequest
0 голосов
/ 23 февраля 2012

Я новичок в db2. Я хочу выбрать около 2 миллионов данных одним запросом, подобным тому, который выберет и отобразит первые 5000 данных, а в обратном процессе он выберет другие 5000 данных и сохранит их до конца справки по всем данным.мне с этим, как написать запрос или с помощью функции

Ответы [ 2 ]

1 голос
/ 25 февраля 2012

Вы можете использовать одну из новых функций, которая включает в себя пейджинг из Oracle или MySQL: https://www.ibm.com/developerworks/mydeveloperworks/blogs/SQLTips4DB2LUW/entry/limit_offset?lang=en

В то же время вы можете влиять на оптимизатор, указав OPTIMIZED FOR n n ROWS и FETCH FIRST nТОЛЬКО РЯДА.Если вы собираетесь только читать, лучше указать это предложение в запросе «ТОЛЬКО ДЛЯ ЧТЕНИЯ», это увеличит параллелизм, и курсор не сможет обновляться.Кроме того, назначьте хороший уровень изоляции, для этого случая вы можете в конечном итоге использовать «незафиксированное чтение» (с UR).Таблица предыдущих блокировок подойдет.

Не забывайте о распространенных практиках, таких как: индексирование или индекс кластера, получение только необходимых столбцов и т. Д. И всегда анализируйте план доступа с помощью средства объяснения.

1 голос
/ 23 февраля 2012

Звучит так, будто ты хочешь то, что известно как блокировка. Однако на самом деле это не обрабатывается (не так, как вы думаете) на уровне базы данных - оно обрабатывается на уровне приложения. Вам нужно указать свою платформу и язык программирования, чтобы мы могли там помочь. Хотя если вы ожидаете, что кто-то на самом деле прочитает 2 миллиона строк, это займет некоторое время ... Одна строка в секунду - это 23 дня подряд.

Причина в том, что SQL на самом деле не выполняет это "изначально", заключается в том, что он (своего рода) менее эффективен. Кроме того, SQL (по замыслу) настроен на работу с полным набором данных, как концептуально, так и синтаксически.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...