|
FireBird 3 выборка и Блоб
|
|||
---|---|---|---|
#18+
Здравствуйте. Подскажите такой вопрос: в FB 2.5 блоб не вытягивается сразу с данными выборки, а отдельным запросом. Что-нибудь в этом плане изменилось в FB 3 ? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2015, 16:39 |
|
FireBird 3 выборка и Блоб
|
|||
---|---|---|---|
#18+
zholnerovich, логически он и дне должен "сразу". как вы это себе представляете? чем char/varchar от blob отличается, знаете? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2015, 16:49 |
|
FireBird 3 выборка и Блоб
|
|||
---|---|---|---|
#18+
kdv, "В отличие от всех других полей, данные BLOB поля не хранятся непосредственно в записи таблицы. В записи таблицы хранится лишь идентификатор BLOB (BLOB_ID), а само тело BLOB хранится на отдельных страницах базы данных и доступ к ним осуществляется специальными функциями IB API" http://www.devrace.com/ru/fibplus/articles/2261.php ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2015, 16:56 |
|
FireBird 3 выборка и Блоб
|
|||
---|---|---|---|
#18+
Hello, Zholnerovich! You wrote on 24 августа 2015 г. 16:58:24: Zholnerovichwww.devrace.comнадпись на заборе. к тому же не совсем корректна. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2015, 16:58 |
|
FireBird 3 выборка и Блоб
|
|||
---|---|---|---|
#18+
zholnerovich, почти так. Ну а вы предлагаете блобы прямо в запись запихивать? 1-10-100 мб, или гиг? Блобы относятся ко "вторичной" информации. И не потому что так хранятся. А потому, что по сути они представляют собой хранилище для вторичных данных - картинок, документов, видео, музыки, сканов, и проч. Вся эта лабуда в записи при выборке не нужна. Клиентские компоненты - да, могут вам прямо в грид вытаскивать тонны этих блобов, специально чтобы у вас сетевой трафик был повыше, и чтобы ваше приложение потребляло побольше памяти :-) Ну, чтобы тормозило, по серьезному. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2015, 17:02 |
|
FireBird 3 выборка и Блоб
|
|||
---|---|---|---|
#18+
Мимопроходящий, ну пусть даже и надпись на заборе, если у Вас есть отсылка на официальные источники по этому вопросу, то киньте ссылку ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2015, 17:03 |
|
FireBird 3 выборка и Блоб
|
|||
---|---|---|---|
#18+
zholnerovich, если блоб влезает на страницу данных - он хранится на этой странице. не влезает - хранится на отдельной (или отдельных) страницах. я никак не пойму, вы чего хотите? Осчастливить пользователей Firebird запихиванием блобов в запись? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2015, 17:05 |
|
FireBird 3 выборка и Блоб
|
|||
---|---|---|---|
#18+
kdv, я не предлагаю ничего никуда запихивать, просто интересуюсь, так ли это на самом деле и не будет ли каких изменений с этим в ФБ3 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2015, 17:07 |
|
FireBird 3 выборка и Блоб
|
|||
---|---|---|---|
#18+
zholnerovich просто интересуюсь, так ли это на самом деле и не будет ли каких изменений с этим в ФБ3 да, чтобы вытащить блоб из записи надо сделать вызов api. компоненты это делают для вас относительно прозрачно. Возникает вопрос, чем это вас не устраивает, что вы захотели изменений. В ФБ 3 с блобами все так же. Или вы считаете, что у разработчиков Фб возникла идея хранить мегабайты блобов прямо в записях, чтобы не надо было делать "вызов API"? я вот как-то логики в вашем вопросе не улавливаю. Это типа как спросить - "Firebird выдает данные из БД только в ответ на SQL-запрос. Будет-ли это изменено в ФБ3"? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2015, 17:13 |
|
FireBird 3 выборка и Блоб
|
|||
---|---|---|---|
#18+
zholnerovichтак ли это на самом деле и не будет ли каких изменений с этим в ФБ3 Это так и никаких изменений не будет. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2015, 17:19 |
|
FireBird 3 выборка и Блоб
|
|||
---|---|---|---|
#18+
zholnerovich, я понимаю если бы ты спросил "есть улучшения в сетевом протоколе при работе с BLOB?". Может ты это и имел ввиду? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2015, 17:25 |
|
FireBird 3 выборка и Блоб
|
|||
---|---|---|---|
#18+
Симонов ДенисМожет ты это и имел ввиду? Пофиг. Ответ тот же: ничего не изменилось. CORE-3424 по-прежнему открыт. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2015, 17:39 |
|
FireBird 3 выборка и Блоб
|
|||
---|---|---|---|
#18+
Симонов Денис, я хочу просто минимизировать сетевой трафик, но при этом не увеличивать количество запросов к БД. Постараюсь поподробней описать ситуацию: при загрузке программы запрашивается таблица с данными (в основном integer, string), но есть там блоб поле с дополнительной информацией. И если попытаться сразу вытягивать информацию из блоба то получится дополнительный трафик (а таблица довольно большая). Поэтому рассматривается вариант вытягивать данные из блоба по мере надобности в процессе работы программы, но это дополнительные запросы к БД, что тоже не есть хорошо. Есть ли варианты как это можно оптимизировать? И что в этом плане предвидится в FB 3 так как планируется переход ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2015, 17:46 |
|
FireBird 3 выборка и Блоб
|
|||
---|---|---|---|
#18+
zholnerovichЕсть ли варианты как это можно оптимизировать? Есть: не запрашивать данные при старте программы, а делать это по необходимости. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2015, 17:50 |
|
FireBird 3 выборка и Блоб
|
|||
---|---|---|---|
#18+
Hello, Zholnerovich! You wrote on 24 августа 2015 г. 17:49:36: Zholnerovich> вытягивать данные из блоба по мере надобности в процессе работы программы, но это дополнительные запросы к БД это не запросы. это вызовы API по мере необходимости. если конечно библиотека доступа не наделена нечеловеческим н'тылэктом Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2015, 17:50 |
|
FireBird 3 выборка и Блоб
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, знаю. Но так вопрос бы выглядел логичней. По крайней мере там есть что улучшать и это возможно сделают, но не то, что просит автор. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2015, 18:11 |
|
FireBird 3 выборка и Блоб
|
|||
---|---|---|---|
#18+
zholnerovichрассматривается вариант вытягивать данные из блоба по мере надобности в процессе работы программы, но это дополнительные запросы к БД, что тоже не есть хорошо. блоб всегда вытягивается отдельными запросами к api. Если блоб вытягивать отдельным sql-запросом, получится в 3 приема, а не в 2. Но по сравнению с размером блоба, скорее всего эта разница ни о чем. Ваши компоненты либо вытягивают блоб сразу, либо потом, когда вы сами к нему обращаетесь. Так что "не есть хорошо" у вас что сразу, что потом. Потом - лучше, чем сразу. Потому что сразу нельзя понять, что нужно. А вот потом - очень даже можно выбрать только то, что нужно. zholnerovichИ что в этом плане предвидится в FB 3 так как планируется переход уже ведь сказали: в этом плане - ничего. Вы-то что хотите предвидеть, я не пойму? Какие-то полунамеки, мутные вопросы. Можно было ведь сразу написать - какие компоненты используются? - сколько записей в этой "таблице с данными" считывается при старте программы? - какого размера блобы хранятся в этой таблице - когда этой программе нужны эти блобы, и в каком количестве - все сразу, конкретный блоб, или? тут даже если вы сами на эти вопросы ответите, то вам станет ясно, что делать. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2015, 18:12 |
|
FireBird 3 выборка и Блоб
|
|||
---|---|---|---|
#18+
если я не ошибаюсь одно улучшение при работе с блобами в FB3 есть. Их вроде можно тягать теперь более большими кусками. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2015, 18:15 |
|
FireBird 3 выборка и Блоб
|
|||
---|---|---|---|
#18+
Симонов ДенисИх вроде можно тягать теперь более большими кусками. Использование нового API, возможно, уменьшает количество вызовов, но не количество раунд-трипов. CORE-4245 тоже ещё открыт. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2015, 18:36 |
|
FireBird 3 выборка и Блоб
|
|||
---|---|---|---|
#18+
zholnerovichСимонов Денис, я хочу просто минимизировать сетевой трафик, но при этом не увеличивать количество запросов к БД. Постараюсь поподробней описать ситуацию: при загрузке программы запрашивается таблица с данными (в основном integer, string), но есть там блоб поле с дополнительной информацией. И если попытаться сразу вытягивать информацию из блоба то получится дополнительный трафик (а таблица довольно большая). Поэтому рассматривается вариант вытягивать данные из блоба по мере надобности в процессе работы программы, но это дополнительные запросы к БД, что тоже не есть хорошо. Есть ли варианты как это можно оптимизировать? И что в этом плане предвидится в FB 3 так как планируется переход Можно написать UDF или UDR-функцию, передать туда запрос + параметры, на выходе получить результат в xml или в вашем собственном формате, одним блобом. Возможно даже можно написать так, что будет быстрей работать даже если в запросе нет блобов. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2015, 22:25 |
|
FireBird 3 выборка и Блоб
|
|||
---|---|---|---|
#18+
fb user, одним блобом всё можно получить и без UDR. Не о том речь. И таки предлагать написать UDR ТСу... Сам то пробовал написать? Успешно? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2015, 22:44 |
|
FireBird 3 выборка и Блоб
|
|||
---|---|---|---|
#18+
Симонов Денисодним блобом всё можно получить и без UDR.Как? Симонов ДенисИ таки предлагать написать UDR ТСу...Мы тут все программисты, более-менее. Я могу написать UDF с таким функционалом. И даже точно напишу, если это будет оплачено: Работы мне на 2-3 часа. Стоимость - 10000 (с исходниками на Delphi - 15000). Обращайтесь, кому прям очень нужно :) Контакты тут: 17683328 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2015, 00:43 |
|
FireBird 3 выборка и Блоб
|
|||
---|---|---|---|
#18+
fb userКак? есть такая агрегатная функция LIST fb user, не надо тут себя рекламировать. UDF тут могут написать почти все. Я тебя конкретно спрашивал про UDR (внешние функции/процедуры/триггеры) которые ты упомянул. Пишутся они совершенно иначе. Хоть одну скомпилировал? Лично я пробовал два раза хотя бы скомпилировать примеры. И пока не очень удачно. Ибо почему-то, то что содержится в include не достаточно и приходится тащить чуть ли не половину исходников FB. Не знаю может сейчас это и поправлено. Попробую ещё раз как время будет. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2015, 07:03 |
|
FireBird 3 выборка и Блоб
|
|||
---|---|---|---|
#18+
Раздулась дискуссия из-за неверной формулировки. Изначальный вопрос был такой: Бывают ситуации, когда данные надо хранить в бинарном потоке, в БЛОБ поле. Бывают ситуации, когда надо сразу подгрузить на клиента несколько десятков или даже сотен записей с таким полем. Вопрос был: Нет ли в ФБ 3.0 флага в параметрах запроса, или в типе поля, который бы сообщил ему, что вот это БЛОБ поле надо сразу вытащить и передать на клиента вместе со всеми данными. Чтобы потом не приходилось по сети, по одному дергать такие поля. На сетях с гигабитным ethernet проблем нет особых, но, когда у клиента удаленный склад подключен через VPN канал, который идет по инет соединению через ADSL модем и латентность сети высокая, то частые, но мелкие, обращения к серверу уже создают определенный дискомфорт. Ответ: на сегодняшний день такой возможности нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2015, 11:08 |
|
FireBird 3 выборка и Блоб
|
|||
---|---|---|---|
#18+
sysdba22Нет ли в ФБ 3.0 флага в параметрах запроса, или в типе поля, который бы сообщил ему, что вот это БЛОБ поле надо сразу вытащить и передать на клиента вместе со всеми данными. А как ты вообще такой флаг себе представляешь? С точностью до заполнения XSQLVAR и выделения буферов под содержимое. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2015, 11:53 |
|
|
start [/forum/topic.php?fid=40&fpage=72&tid=1562660]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
34ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 154ms |
0 / 0 |