Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / proxy table / 6 сообщений из 6, страница 1 из 1
24.04.2005, 16:02
    #33032212
_new user_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
proxy table
Подскажите пожалуйста, как будет идти запрос в Sybase Anywhere 9, если таблица описана, как proxy table (т.е. ссылается на таблицу с другого сервака).

Если я напишу select * from proxy_table1 where id > 50, то подлинкованная таблица сначала будет полностью перекачана во временную таблицу и только потом уже будет выполнен запрос или выборка будет осуществлена удалено?

Так же интересует запрос типа select * from local_table, proxy_table1 where local_table.id = proxy_table1.id

P.S. И, если можно, дайте ссылку на источник

Заранее спасибо.
...
Рейтинг: 0 / 0
24.04.2005, 17:27
    #33032261
Vinogradov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
proxy table
_new user_Подскажите пожалуйста, как будет идти запрос в Sybase Anywhere 9, если таблица описана, как proxy table (т.е. ссылается на таблицу с другого сервака).

Если я напишу select * from proxy_table1 where id > 50, то подлинкованная таблица сначала будет полностью перекачана во временную таблицу и только потом уже будет выполнен запрос или выборка будет осуществлена удалено?

Так же интересует запрос типа select * from local_table, proxy_table1 where local_table.id = proxy_table1.id

P.S. И, если можно, дайте ссылку на источник

Заранее спасибо.

Формально proxy table такие же таблицы и Ваши select -ы будут успешно выполняться.
Могут возникать проблемы при update, если proxy других СУБД (MSACCESS ...)
Следует заметить, что при написании сложных запросов, особенно при использовании MS продуктов, лучше сначала прочитать данные из них во временную таблицу. Это будет быстрей.
...
Рейтинг: 0 / 0
24.04.2005, 17:36
    #33032265
ASCRUS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
proxy table
Ну источник как всегда BOL, смотреть главу "ASA SQL User's Guide", подглаву "Accessing Remote Data". Там все внятно и очень подробно описано.

Вкратце - в зависимости от возможностей удаленного сервера ASA будет пытаться максимально их использовать. Так что по первому запросу он полностью отработает на удаленном сервере. По второму запросу ему придется по любому вытаскивать всю удаленную таблицу, чтобы соединить с локальной. Если бы в этом запросе обе таблицы были удаленными, то они просто бы выполнились на удаленном сервере.
...
Рейтинг: 0 / 0
25.04.2005, 16:57
    #33033949
serg08
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
proxy table
Есть подозрение, что ASCRUS тут собаку сьел.
А можно и мне вопросик??
-------------------------------------------------------------
По второму запросу ему придется по любому вытаскивать всю удаленную таблицу, чтобы соединить с локальной.
-----------------------------------------
А если :
select * from local_table, proxy_table1 where local_table.id = proxy_table1.id
AND proxy_table1.name1="Vasia" AND proxy_table1.name2="Petia"

и тогда
вся таблица???? Или на удалённом только
select * from table1 where
name1="Vasia" AND table1.name2="Petia"

А если ещё там на удалённом есть и покрывающий индекс по этим полям????
...
Рейтинг: 0 / 0
25.04.2005, 17:18
    #33034018
Александр Гoлдун
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
proxy table
ASCRUS пишет:
> полностью отработает на удаленном сервере. По второму запросу ему
> придется по любому вытаскивать всю удаленную таблицу, чтобы соединить с
> локальной.

Не уверен. Когда то давно еще я подключал ASA к таблицам на MSSQL и
смотрел посылаемые запросы. В целом понравилось. Не берусь утверждать
точно, так как давно это было, но не исключено, что при малом количестве
записей в локальной таблице на удаленный сервер уйдет переписанный
запрос, в котором в WHERE будет стоять IN с перечнем значений из
локальной. Надо проверить.

serg08 пишет:
> Есть подозрение, что ASCRUS тут собаку сьел.

Откуда такая осведомленность в гастрономических пристрастиях?

> А можно и мне вопросик??
> -------------------------------------------------------------
> По второму запросу ему придется по любому вытаскивать всю удаленную
> таблицу, чтобы соединить с локальной.
> -----------------------------------------
> А если :
> select * from local_table, proxy_table1 where local_table.id =
> proxy_table1.id
> AND proxy_table1.name1="Vasia" AND proxy_table1.name2="Petia"
>
> и тогда
> вся таблица???? Или на удалённом только
> select * from table1 where
> name1="Vasia" AND table1.name2="Petia"

Скорее второе. А почему бы не попробовать самому и не проверить
посылаемый запрос? Что мешает? В ASA можно включить протоколирование
запросов.

> А если ещё там на удалённом есть и покрывающий индекс по этим полям????

А вот это вряд ли учитывается
Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
25.04.2005, 17:18
    #33034019
ASCRUS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
proxy table
авторЕсть подозрение, что ASCRUS тут собаку сьел.
Ну собака слава богу осталась жива, просто ASA в данном случае у меня еще и хобби, всегда интересно провести различные над ней эксперименты, посмотреть, что и как было реализовано на низком уровне, а заодно как это может пригодиться и насколько было описано в документации. Хотя к их чести сказать задокументировано почти все.

авторА если :
select * from local_table, proxy_table1 where local_table.id = proxy_table1.id
AND proxy_table1.name1="Vasia" AND proxy_table1.name2="Petia"

и тогда
вся таблица???? Или на удалённом только
select * from table1 where
name1="Vasia" AND table1.name2="Petia"
Ну конечно же не вся таблица, ASA умный сервер, зачем себе и другим делать лишнюю работу.

авторА если ещё там на удалённом есть и покрывающий индекс по этим полям????
А вот это на совести удаленного - какие индексы у него есть. ASA ему перешлет запрос, его задача выполнить его и вернуть ответ, чтобы ASA дальше могла соединить его с локальной таблицей. Фактически удаленный сервер будет воспринимать ASA как клиентское приложение, которое посылает ему SQL-операторы и ничего более, а он уже отрабатывает их в штатном режиме. Аналогично мы могли бы переслать на удаленный сервер ASA серию прямых SQL команд, используя оператор FORWARD TO.
...
Рейтинг: 0 / 0
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / proxy table / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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