
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
25.11.2009, 14:00:33
|
|||
|---|---|---|---|
Непричесанные мысли по синтакссу кросс-ДБ запросов |
|||
|
#18+
В 2.5 появились запросы к внешним источникам данных EXECUTE STATEMENT … ON EXTERNAL Вещь интересная, а кому-то даже полезная. Однако получить набор данных с левой БД – это одно, а вот использовать его, например в соединении с выборками родной базы, – совсем другое. Как я понимаю, сейчас это можно сделать лишь посредством явных курсоров. Причем если условия соединение и фильтрации сложнее палки и веревки, то придется поиметь много-много кода. Так вот, на сытый желудок подумалось, как ещё докрутить синтаксис ES в тройке, чтобы внешние источники данных стали еще более гладкими и шелковистыми. Объяснять лень, лучше пример: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. В общем смысл понятен, полагаю: загонять вывод ES в CTE. Причем FOR перед ES, а также INTO после ES тут не к чему, ибо весь вывод засасывает в себя CTE, и поля уже объявлены в ней после имени. Что скажете? Лисапед? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.11.2009, 14:09:49
|
|||
|---|---|---|---|
Непричесанные мысли по синтакссу кросс-ДБ запросов |
|||
|
#18+
джойнить EDS без поддержки оптимизатора - бестолковое занятие, IMHO, независимо от синтаксиса. Надо делать нормально оптимизируемые гетерогенные запросы. Но это не для 3.0. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.11.2009, 14:15:18
|
|||
|---|---|---|---|
Непричесанные мысли по синтакссу кросс-ДБ запросов |
|||
|
#18+
dimitr, т.к. синтаксис не влияет на поддержку или неподдержку оптимизации, то почему бы не реализовать на скорую руку тупые natural-соединения (как вариант, по предложенному синтаксису или как-то иначе), а когда дойдут руки - не меняя синтаксиса добавить оптимимзацию? По-моему, возможность - первично, скорость реализации - вторично. Не всем же миллиониками манипулировать. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.11.2009, 14:21:26
|
|||
|---|---|---|---|
|
|||
Непричесанные мысли по синтакссу кросс-ДБ запросов |
|||
|
#18+
сделать в процедуре выборки ES и джойнить уже с процедурой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.11.2009, 14:22:51
|
|||
|---|---|---|---|
Непричесанные мысли по синтакссу кросс-ДБ запросов |
|||
|
#18+
Идеи запихнуть EXEC BLOCK (а теперь и EXEC STMT) в CTE уже витали. Несмотря на кажущуюся простоту и элегантность синтаксиса это не так просто сделать в самом движке. Т.е. "на скорую руку" - это фантазия :) Ну и эффективность выполнения таких запросов будет не на высоте. Кому сильно нужно, может, не ожидая FB 3 (или FB 33), уже сейчас самостоятельно заливать такие блоки в GTT и джойнить их вдоль и поперёк. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.11.2009, 14:26:22
|
|||
|---|---|---|---|
Непричесанные мысли по синтакссу кросс-ДБ запросов |
|||
|
#18+
hvladэлегантность синтаксиса никогда не понимал этой "элегантности" :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.11.2009, 14:32:46
|
|||
|---|---|---|---|
Непричесанные мысли по синтакссу кросс-ДБ запросов |
|||
|
#18+
dimitrhvladэлегантность синтаксиса никогда не понимал этой "элегантности" :-)кажущаяся :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
29.05.2010, 03:25:20
|
|||
|---|---|---|---|
|
|||
Непричесанные мысли по синтакссу кросс-ДБ запросов |
|||
|
#18+
Я правильно понял, что count и другие агрегаты считает внешняя СУБД? Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
29.05.2010, 03:42:02
|
|||
|---|---|---|---|
|
|||
Непричесанные мысли по синтакссу кросс-ДБ запросов |
|||
|
#18+
Да. Но некрофилить ради этого было необязательно. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
19.11.2013, 20:04:45
|
|||
|---|---|---|---|
|
|||
Непричесанные мысли по синтакссу кросс-ДБ запросов |
|||
|
#18+
...«В 2.5 появились запросы к внешним источникам данных EXECUTE STATEMENT … ON EXTERNAL Вещь интересная, а кому-то даже полезная. Однако получить набор данных с левой БД – это одно, а вот использовать его, например в соединении с выборками родной базы, – совсем другое. Как я понимаю, сейчас это можно сделать лишь посредством явных курсоров. Причем если условия соединение и фильтрации сложнее палки и веревки, то придется поиметь много-много кода».... Я делаю иначе: Просто и быстро. а) Создаем системный DSN для каждой БД Firebird в администраторе источников данных ODBC . б) Далее в MS Access создаем связанные таблицы из DSN А затем строим выборки и прочие весЧи со всеми БД в савокупности или врозь.... DataPump не рулит! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
19.11.2013, 20:37:59
|
|||
|---|---|---|---|
|
|||
Непричесанные мысли по синтакссу кросс-ДБ запросов |
|||
|
#18+
PisarLenovПросто и быстро. Ага, для пары таблиц с десятком записей в каждой. Акцесс вроде как не умеет пропихивать условия в связанные таблицы. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.11.2013, 00:00:24
|
|||
|---|---|---|---|
Непричесанные мысли по синтакссу кросс-ДБ запросов |
|||
|
#18+
PisarLenov, некрофил? К тому же, BDE давным давно умеет это делать, не говоря о том, что он не развивается уже 11 лет. Гетерогенные запросы только с одной стороны хорошо. С другой - они выкачивают все данные на клиента. Поэтому рулит как раз перекачка части данных между БД через on external, и выполнение запросов уже в конкретной БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.11.2013, 11:19:07
|
|||
|---|---|---|---|
|
|||
Непричесанные мысли по синтакссу кросс-ДБ запросов |
|||
|
#18+
свои 5 копеек недавно пришлось делать джойны из IB56 и FB25 через Execute Statement правда без курсоров, и на разных машинах убийственно медленно нашел выход - TxQuery дешево, быстро и дружелюбно, хотя нет некоторых элементов конструкций (напр EXISTS) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=40&mobile=1&tid=1564126]: |
0ms |
get settings: |
10ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
278ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 245ms |
| total: | 601ms |

| 0 / 0 |
