Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / что быстрее / 3 сообщений из 3, страница 1 из 1
15.04.2011, 18:08
    #37218955
DIOXID
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
что быстрее
Всем Привет,
Возник такоий вопрос. Что для сервера быстрее выполнить 1000 селектов или один селект с where param in (1000 значений)?
Что эфиктивнее?
...
Рейтинг: 0 / 0
16.04.2011, 18:22
    #37219761
GVF112GVF
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
что быстрее
DIOXIDВсем Привет,
Возник такоий вопрос. Что для сервера быстрее выполнить 1000 селектов или один селект с where param in (1000 значений)?
Что эфиктивнее?

Зависит от многих факторов:
- объем данных (число записей)
- гистограмм распределение данных
- наличие индексов
- наличие ресурсов (CPU, RAM, I/O)
- архитектура сервера - SMP, MPP
- глубина оптимизации SQL-запроса
- эффективность плана SQL-запроса
- тип SQL-запроса (статический/динамический)
- сложность запроса - OLTP/DSS/OLCP
- какой процет данных затрагивается в ходе выполнения запроса
- уровень изоляции транзакций.
- и т.д

Второй вариант обычно более быстрый, но случаи бывают разные ... ;)

В DB2 предикат IN со списком литеральных значений преобразуется в последовательность предикатов,
соединенных через OR, чтобы сделать возможным использование стратегии доступа к таблице Index-ORing.
В DB2 также на стадии компиляции вычисляются некоторые выражения, содержащие скалярные функции с
аргументами-константами, чтобы избежать их вычисления во время выполнения запроса.

Tuning DB2 SQL Access Paths -
http://www.ibm.com/developerworks/data/library/techarticle/0301mullins/0301mullins.html

Distribution statistics uses with the DB2 optimizer -
http://www.ibm.com/developerworks/data/library/techarticle/dm-0606fechner/index.html

С уважением,
Вадим
...
Рейтинг: 0 / 0
16.04.2011, 18:26
    #37219763
GVF112GVF
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
что быстрее
DIOXIDВсем Привет,
Возник такоий вопрос. Что для сервера быстрее выполнить 1000 селектов или один селект с where param in (1000 значений)?
Что эфиктивнее?

PS: Compiler rewrite example: Implied predicates -
http://publib.boulder.ibm.com/infocenter/db2luw/v9r7/topic/com.ibm.db2.luw.admin.perf.doc/doc/c0005296.html?resultof=%22%4f%52%69%6e%67%22%20%22%6f%72%22%20

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


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