powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / proxy table
6 сообщений из 6, страница 1 из 1
proxy table
    #33032212
_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. И, если можно, дайте ссылку на источник

Заранее спасибо.
...
Рейтинг: 0 / 0
proxy table
    #33032261
Vinogradov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_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
proxy table
    #33032265
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну источник как всегда BOL, смотреть главу "ASA SQL User's Guide", подглаву "Accessing Remote Data". Там все внятно и очень подробно описано.

Вкратце - в зависимости от возможностей удаленного сервера ASA будет пытаться максимально их использовать. Так что по первому запросу он полностью отработает на удаленном сервере. По второму запросу ему придется по любому вытаскивать всю удаленную таблицу, чтобы соединить с локальной. Если бы в этом запросе обе таблицы были удаленными, то они просто бы выполнились на удаленном сервере.
...
Рейтинг: 0 / 0
proxy table
    #33033949
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"

А если ещё там на удалённом есть и покрывающий индекс по этим полям????
...
Рейтинг: 0 / 0
proxy table
    #33034018
Фотография Александр Гoлдун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
proxy table
    #33034019
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторЕсть подозрение, что 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
6 сообщений из 6, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / proxy table
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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