powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Вопрос чайника по DB2 на AS/400
9 сообщений из 9, страница 1 из 1
Вопрос чайника по DB2 на AS/400
    #33559680
sqluru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет,

Второй день роюсь в DB2 (не так всё плохо, как казалось). Задача у меня пока такая достаточно простая - качать данные из DB2 (имеем iSeries V5R3M0) в MS SQL 2000.

Хочу протестировать что будет лучше работать - DTS или linked servers. Для этого собираюсь выбрать таблицу с наибольшим объёмом данных и скопировать обеими способами.

Не подскажете как можно одним Selectом выбрать список всех таблиц по всем библиотекам DB2 и отсортировать либо по row count либо по размеру? Пробовал нечто QSYS2.SYS_TABLES, но не уверен что это то, что мне надо. Образумьте, пожалуйста.

Спасибо.
...
Рейтинг: 0 / 0
Вопрос чайника по DB2 на AS/400
    #33560067
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чтобы можно было оценить количество записей в таблице необходимо собрать статистику.
Список всех таблиц можно получить из select * from sysibm.systables
...
Рейтинг: 0 / 0
Вопрос чайника по DB2 на AS/400
    #33560271
gardenman
Список всех таблиц можно получить из select * from sysibm.systables
QSYS2.SYS_TABLES
...
Рейтинг: 0 / 0
Вопрос чайника по DB2 на AS/400
    #33561675
db2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sqluruХочу протестировать что будет лучше работать - DTS или linked servers.Не знаю как DTS, а linked servers по скорости связи с DB2 v7.2 лично меня явно разочаровал.
Пытался законектится через майкрософтовский OLE DB Provider для DB2.
Для проверки на обоих серверах располагались одинаковые таблицы с идентичными индексами, содержащие около двух миллионов записей.
Запрос выборки в пару тысяч записей по индексированному текстовому полю (VARCHAR) отдельно и на MSSQL и на DB2 выполнялся за доли секунды.
А при запуске того же запроса через linked server, запрос выполнялся порядка 20 секунд :(
То ли MSSQL вообще не пользовался индексами DB2, то ли убого ими пользовался, то ли DB2 v7.2 тупит через OLE DB, то ли еще чего...
Может у кого есть опыт связи DB2 с MSSQL2000-2005? Было бы интересно послушать.
...
Рейтинг: 0 / 0
Вопрос чайника по DB2 на AS/400
    #33563130
Фотография Anton Demidov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вцйуавацуа gardenman
Список всех таблиц можно получить из select * from sysibm.systables
QSYS2.SYS_TABLES
Ну, во-первых всё-таки QSYS2.SYSTABLES
так как явно было сказано, что это iSeries (AKA AS/400)
Но эта вьюха не показывает кол-во строк в таблице (статистика собирается автоматически в 5R3, если её не отключили специально).
Может кто знает, откуда её можно прочитать. Поковырявшись в системных таблицах минут 15 я так и не нашёл ничего похожего.
Код: plaintext
1.
2.
--
Антон
Per rectum ad astrum
...
Рейтинг: 0 / 0
Вопрос чайника по DB2 на AS/400
    #33586837
lazy-beaver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну например можно запихнуть в шедулер чтото типа сбора своей статистики:
DSPFD FILE(LIBNAME/*ALL)
TYPE(*MBR)
OUTPUT(*OUTFILE)
OUTFILE(REVA/ZZZ)
потом вычитывать поле MBNRCD - к-во записей в мембере

Serge Reva
...
Рейтинг: 0 / 0
Вопрос чайника по DB2 на AS/400
    #33587796
Фотография Anton Demidov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В том и проблема, что AS/400 не имеет SQL интерфейса для собранной статистики, хотя она её автоматически собирает и оптимизатор SQL её использует. Есть даже гистограммы на значения столбцов. Но нам до них не добраться :(
Код: plaintext
1.
2.
--
Антон
Per rectum ad astrum
...
Рейтинг: 0 / 0
Вопрос чайника по DB2 на AS/400
    #33589833
lazy-beaver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что значит не имеет SQL интерфейса??? не пишет в таблички чтоли?
на дурах можно _любую_ инфу вытаскивать через stored procedure, возвращающей result set
кроме того, в QADBXREF (вьюха systables) инфа попадает только если файл сделан через CREATE TABLE...
а таблички можно делать не только так через этот механизм
Serge Reva
...
Рейтинг: 0 / 0
Вопрос чайника по DB2 на AS/400
    #33589974
lazy-beaver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
глянул на исходное сообщение
итак, решение(найти табличку с наибольшим к-вом записей)
1. DSPFD FILE(*ALL/*ALL) TYPE(*MBR) OUTPUT(*OUTFILE) OUTFILE(QTEMP/ZZZ)
2. SELECT MBFILE, MBLIB, sum(MBNRCD) FROM qtemp/zzz GROUP BY MBFILE,
MBLIB
при желании это можно оформить как stored procedure

Serge Reva
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Вопрос чайника по DB2 на AS/400
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]