|
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
|
|||
---|---|---|---|
#18+
Имеем FB2.0.3, IBExpert от 08.10.2010 (аналогичное поведение на FB2.5 и последнем IBExpert) Не спрашивайте зачем мне это надо, но создаем БД в UTF8 размер страницы 16к. В ней создаем таблицу CREATE TABLE TEST_ASCI ( ID INTEGER NOT NULL, ASCI_1 VARCHAR(32760) CHARACTER SET ASCII, ASCI_2 VARCHAR(8185) CHARACTER SET ASCII ); И вот парадокс, длина поля ASCI_2 не может быть больше 8185, иначе при заходе на закладку Data в IBExperte вылезает ошибка block size exceeds implementation restriction. Почему? Поля в ASCI, соответственно длина всей записи (не учитывая служебные) 4+32760+8185=40949, это сильно меньше ограничения в 64к. Причем никакое поле больше впихнуть в эту таблицу нельзя. Причем, если увеличить ASCI_2 до 8186 (на единицу), то ошибка вылезает, а если увеличить ASCI_1 до 32761 (на единицу) то ошибки нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2011, 16:02 |
|
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
|
|||
---|---|---|---|
#18+
Connection charset? Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2011, 16:10 |
|
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
|
|||
---|---|---|---|
#18+
UTF8 ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2011, 16:18 |
|
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
|
|||
---|---|---|---|
#18+
У тебя лимит в 64к преодолел конечный result set, который уже в кодировке utf8. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2011, 16:37 |
|
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
|
|||
---|---|---|---|
#18+
А как быть, если мне нужно два поля в таблице по 30кб? BLOB не могу использовать ввиду низкой производительности. На базе в 1251 все работало и летало. Проба использовать BLOB показала жуткие тормоза. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2011, 16:39 |
|
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
|
|||
---|---|---|---|
#18+
Не использовать utf8 на клиенте. TMDeveloperПроба использовать BLOB показала жуткие тормоза. Значит ты неправильно его использовал. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2011, 16:42 |
|
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
|
|||
---|---|---|---|
#18+
TMDeveloperА как быть, если мне нужно два поля в таблице по 30кб? Не упоминать их в одном запросе. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2011, 16:47 |
|
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
|
|||
---|---|---|---|
#18+
TMDeveloper. Проба использовать BLOB показала жуткие тормоза. а шо там за серверотрясение? Блобы - не пуля, конечно, но все-таки... ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2011, 16:48 |
|
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
|
|||
---|---|---|---|
#18+
>> Не использовать utf8 на клиенте. Надо. >>Значит ты неправильно его использовал. Несколько сот записей за раз загружаются, 1,2,3 записи могут содержать один документ (картинка) - результат сразу пакуется и по tcp/ip отправляется на сервер. Т.е. экспорт. BLOB всяко тестировался, т.к. очевидно, что он удобнее, но хранение построчно документа в base64 дает сильное преимущество по производительности при выгрузке да и вообще даже при отображении одной картинки. Когда наконец не будет ограничений 32к и 64к?? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2011, 16:52 |
|
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
|
|||
---|---|---|---|
#18+
TMDeveloperрезультат сразу пакуется и по tcp/ip отправляется на сервер. Т.е. экспорт. BLOB всяко тестировался Я чую дот-нет провайдер... Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2011, 16:57 |
|
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
|
|||
---|---|---|---|
#18+
TMDeveloper1,2,3 записи могут содержать один документ (картинка) - результат сразу пакуется и по tcp/ip отправляется на сервер. Т.е. экспорт. как бы хорошо не звучало "блоб медленный", но еще лучше звучит "хранить картинки в варчаре - изврат". TMDeveloperКогда наконец не будет ограничений 32к и 64к?? чтобы хранить мегабайтные картинки в варчаре? да ты болен :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2011, 17:04 |
|
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
|
|||
---|---|---|---|
#18+
> Я чую дот-нет провайдер... :-) Нет, FIBPlus 7.0.15, Delphi XE Prof. Тормоза из-за массовости. Понятно, что загрузка 2-3 картинок из блоба не покажется юзеру утомительной, но если их 100... Попробую не упоминать оба поля в одном запросе. Т.е. по два запроса на запись будет. Если результат покажет сравнимое с BLOB время, то видимо придется юзать BLOB. А вот если б небыло ограничения в 32 и 64к, то таких проблем небыло бы. 21 век, 64-разрядные процы о ОС... а у нас 64к.. Ппц, так и сидим в 1980х. :-( ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2011, 17:05 |
|
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
|
|||
---|---|---|---|
#18+
2 kdv Сам болен ;-) Нужна максимальная производительность и практика показывает, что хранение в варчарах самое быстрое с точки зрения извлечения! Потестируй сам. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2011, 17:07 |
|
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
|
|||
---|---|---|---|
#18+
я не собираюсь тестировать, и так понятно. Тем не менее, пихать картинки в варчар - это надевать штаны на голову. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2011, 17:10 |
|
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
|
|||
---|---|---|---|
#18+
> чтобы хранить мегабайтные картинки в варчаре? да ты болен :-) Картинки как раз по 10-100кб примерно. На самою большую, которая пока была, уходило 2 записи с двума варчарами. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2011, 17:11 |
|
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
|
|||
---|---|---|---|
#18+
TMDeveloperНет, FIBPlus 7.0.15, Delphi XE Prof. Ох, что-то ты делаешь не так... При таком размере блоба не должно быть разницы. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2011, 17:14 |
|
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
|
|||
---|---|---|---|
#18+
кстати, ну пакуется картинка. ну отправляется по tcp. В дремучем 1997 году я долбал InterBase 5.0 блобами, хранил там текстовые документы (можно было любые), и база была 24 гига. Так вот, задолбать InterBase не удалось, потому что из-за "массовости" (а каждый блоб был где-то по 8 килобайт) просто заткнулся сетевой канал. дальше, что с варчарами, что с блобами, картинка в 100к будет на диске занимать те же 100к. То есть, дисковый io тут практически ни при чем, более того, таблица оказывается вусмерть забита этими самыми варчарами, и сервер собирает запись из фрагментов с разных страниц. Вопрос - может, что-то у вас не так с вытаскиванием картинок из блобов? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2011, 17:17 |
|
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
|
|||
---|---|---|---|
#18+
> Ох, что-то ты делаешь не так... При таком размере блоба не должно быть разницы. Есть. Большинство картинок умещается в одну запись с двумя варчарами. Поэтому на извлечение одной картинки уходит одно обращение к серверу. При этом открыв pFIBQuery и слизав оттуда одну за другой картинки сильно быстрее. В один запрос все сразу. А как извлекается блоб? Фактически в два обращения к серверу! Т.е. на каждую заголовочную запись картинки еще идет обращение за содержимым блоба. Вот и разница. Я не прав? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2011, 17:20 |
|
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
|
|||
---|---|---|---|
#18+
TMDeveloperкаждую заголовочную запись картинки еще идет обращение за содержимым блоба. Вот и разница. ну и что? какие то два несчастных tcp пакета в ЛОКАЛЬНОЙ системе замедляют работу прямо жуть? Переходи на ФБ 2.5... Ты же пишешь, что РЕЗУЛЬТАТ ВЫБОРКИ отправляешь клиенту по tcp. То есть, блоб или варчар ты вытаскиваешь локально. И скорость соединения твоей проги с ФБ не ограничена скоростью соединения клиента с твоей прогой. Потестить, конечно, можно. Например, хранить куски по 30-20к на страницах 8к, и посмотреть, что будет быстрее, блобы и варчары, и насколько. Варчары будут быстрее конечно, но думаю, не так чтобы адски. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2011, 17:27 |
|
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
|
|||
---|---|---|---|
#18+
TMDeveloperЯ не прав? Неправ. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2011, 17:32 |
|
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
|
|||
---|---|---|---|
#18+
2 kdv > какие то два несчастных tcp пакета в ЛОКАЛЬНОЙ системе замедляют работу прямо жуть? Логика: Юзер жмет кнопку "Экспорт". Программа выводит modal-окно с индикатором, быстренько готовит пакет, ложит его на диск, закрывает окно с индикатором и запускает отдельный TThread, который и уже гонит в фоне данные через интернет. Если юзер будет ждать пока данные онлайн из базы через инет перекачаются на сервер, то он курить замучается. Т.е. речь идет о том, чтобы быстро приготовить данные и запустить их отправку уже в фоне. Короче, спасиба всем. Ваши мысли я понял. Сеня действительно попробую сделать просто одну таблицу с одним полем варчар 32к вместо блоба и попробую так, т.е. на картинку будет уходить по 2-4 записи в таблице. И тоже самое с использованием блоба. Время засеку, тут выложу. Посмотрим. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2011, 17:35 |
|
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
|
|||
---|---|---|---|
#18+
2 Dimitry Sibiryakov Не прав в чем именно? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2011, 17:35 |
|
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
|
|||
---|---|---|---|
#18+
Если кто-то спросит почему нельзя готовить пакет в фоне, отвечаю, потому что логика такая, не должен юзер во время подготовки пакета ничего изменять, поэтому modal окно с индикатором. Программа не сетевая. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2011, 17:40 |
|
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
|
|||
---|---|---|---|
#18+
TMDeveloperНе прав в чем именно? В подсчёте обращений к серверу. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2011, 17:40 |
|
|
start [/forum/topic.php?fid=42&msg=37190774&tid=1599875]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
144ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
others: | 290ms |
total: | 536ms |
0 / 0 |