Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Низкая скорость вставки в связанный Oracle  [new]
Alex9801
Member

Откуда: Москва
Сообщений: 53
Дано: Win2008R2 x64, на нем MSSQL 2008 x64 и Oracle 11.2 64bit
Select @@version:
Microsoft SQL Server 2008 (SP3) - 10.0.5500.0 (X64) Sep 21 2011 22:45:45 Copyright (c) 1988-2008 Microsoft Corporation Standard Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)

Oracle подключен к MSSQL как Linked Server

Вставка данных:
Insert into ORA_SRV..<Имя схемы>.<Имя таблицы> (Field1, Field2, ..., FieldN)
Select Field1, Field2, ..., FieldN
From MSSQL_TABLE

Insert в оракловую таблицу 20 тыс записей выполнялся 40мин. На оракловой таблице нет ни триггеров, ни индексов.

Что где можно подкрутить чтобы было быстрее?
14 фев 14, 12:23    [15567108]     Ответить | Цитировать Сообщить модератору
 Re: Низкая скорость вставки в связанный Oracle  [new]
Добрый Э - Эх
Guest
а локальная вставка на сервере оракл такого же объема данных проходит быстро?
14 фев 14, 12:25    [15567129]     Ответить | Цитировать Сообщить модератору
 Re: Низкая скорость вставки в связанный Oracle  [new]
Glory
Member

Откуда:
Сообщений: 104751
Alex9801
Oracle подключен к MSSQL как Linked Server

Каким провайдером подключен ?
14 фев 14, 12:27    [15567159]     Ответить | Цитировать Сообщить модератору
 Re: Низкая скорость вставки в связанный Oracle  [new]
Alex9801
Member

Откуда: Москва
Сообщений: 53
Естественно, локальная вставка выполняется за доли секунды.
Подключен через OraOLEDB.Oracle, т.е. через оракловый провайдер, т.к. друго (64bit) не нашел.
14 фев 14, 12:59    [15567415]     Ответить | Цитировать Сообщить модератору
 Re: Низкая скорость вставки в связанный Oracle  [new]
ziktuw
Member

Откуда:
Сообщений: 3552
Вставляйте инструкцией EXEC(<sql>) AT <linked_server>.

Использование 4-х именной нотации приводит к офигительному оверхеду (запрос метаданных целевой таблицы как минимум) на каждом запросе, потому и тормоза.
14 фев 14, 14:18    [15568091]     Ответить | Цитировать Сообщить модератору
 Re: Низкая скорость вставки в связанный Oracle  [new]
Алексей Куренков
Member [заблокирован]

Откуда: Москва
Сообщений: 567
Alex9801,

Может SSIS заливать данные? )))). Как раз инструмент для обмена данными.
14 фев 14, 14:36    [15568281]     Ответить | Цитировать Сообщить модератору
 Re: Низкая скорость вставки в связанный Oracle  [new]
Alex9801
Member

Откуда: Москва
Сообщений: 53
ziktuw
можно поподробнее, как будет выглядеть такой запрос?

именно insert into ... Select ... From...
А не insert into <table_name> (...) Values (....)


SSIS использовать неполучается.
14 фев 14, 18:41    [15569969]     Ответить | Цитировать Сообщить модератору
 Re: Низкая скорость вставки в связанный Oracle  [new]
ziktuw
Member

Откуда:
Сообщений: 3552
Alex9801
можно поподробнее, как будет выглядеть такой запрос?

именно insert into ... Select ... From...
А не insert into <table_name> (...) Values (....)

Сори, я поторопился, не заметил что вставка идет селектом из таблицы. Заработался.
Да, так не получится, увы.

На стороне оракла настройте гейтвей на MSSQL (см. гетерогенные сервисы), и ораклом забирайте данные одним селектом. Это работает быстро.
14 фев 14, 20:29    [15570494]     Ответить | Цитировать Сообщить модератору
 Re: Низкая скорость вставки в связанный Oracle  [new]
2Alex9801
Guest
Вы попробуйте ради интереса, какой будет скорость если вставка будет происходить не в линкованный из СКЛ Сервера Оракл, а в самом Оракле читая из СКЛ Сервера.
14 фев 14, 20:59    [15570620]     Ответить | Цитировать Сообщить модератору
 Re: Низкая скорость вставки в связанный Oracle  [new]
Crazy_Driver
Member

Откуда: α2000 = 14ч39м36с,5, δ2000 = -60°50'02"
Сообщений: 876
Есть вероятность, что запихивание данных во временную таблицу, а потом в курсоре вставлять в Оракловую таблицу по одной строке будет быстрее, нежели пытаться запихнуть все скопом.
17 фев 14, 14:09    [15577135]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить