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

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

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

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

Спасибо.
...
Рейтинг: 0 / 0
22.02.2006, 10:38
    #33560067
gardenman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос чайника по DB2 на AS/400
Чтобы можно было оценить количество записей в таблице необходимо собрать статистику.
Список всех таблиц можно получить из select * from sysibm.systables
...
Рейтинг: 0 / 0
22.02.2006, 11:35
    #33560271
Вопрос чайника по DB2 на AS/400
gardenman
Список всех таблиц можно получить из select * from sysibm.systables
QSYS2.SYS_TABLES
...
Рейтинг: 0 / 0
22.02.2006, 18:38
    #33561675
db2
db2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос чайника по DB2 на AS/400
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
23.02.2006, 22:44
    #33563130
Anton Demidov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос чайника по DB2 на AS/400
вцйуавацуа 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
07.03.2006, 13:53
    #33586837
lazy-beaver
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос чайника по DB2 на AS/400
ну например можно запихнуть в шедулер чтото типа сбора своей статистики:
DSPFD FILE(LIBNAME/*ALL)
TYPE(*MBR)
OUTPUT(*OUTFILE)
OUTFILE(REVA/ZZZ)
потом вычитывать поле MBNRCD - к-во записей в мембере

Serge Reva
...
Рейтинг: 0 / 0
07.03.2006, 22:44
    #33587796
Anton Demidov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос чайника по DB2 на AS/400
В том и проблема, что AS/400 не имеет SQL интерфейса для собранной статистики, хотя она её автоматически собирает и оптимизатор SQL её использует. Есть даже гистограммы на значения столбцов. Но нам до них не добраться :(
Код: plaintext
1.
2.
--
Антон
Per rectum ad astrum
...
Рейтинг: 0 / 0
09.03.2006, 13:57
    #33589833
lazy-beaver
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос чайника по DB2 на AS/400
что значит не имеет SQL интерфейса??? не пишет в таблички чтоли?
на дурах можно _любую_ инфу вытаскивать через stored procedure, возвращающей result set
кроме того, в QADBXREF (вьюха systables) инфа попадает только если файл сделан через CREATE TABLE...
а таблички можно делать не только так через этот механизм
Serge Reva
...
Рейтинг: 0 / 0
09.03.2006, 14:30
    #33589974
lazy-beaver
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос чайника по DB2 на AS/400
глянул на исходное сообщение
итак, решение(найти табличку с наибольшим к-вом записей)
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
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Вопрос чайника по DB2 на AS/400 / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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