powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
145 сообщений из 145, показаны все 6 страниц
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37190533
TMDeveloper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имеем 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 (на единицу) то ошибки нет.
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37190563
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Connection charset?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37190590
TMDeveloper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
UTF8
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37190653
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У тебя лимит в 64к преодолел конечный result set, который уже в кодировке utf8.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37190656
TMDeveloper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А как быть, если мне нужно два поля в таблице по 30кб? BLOB не могу использовать ввиду низкой производительности. На базе в 1251 все работало и летало. Проба использовать BLOB показала жуткие тормоза.
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37190661
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не использовать utf8 на клиенте.

TMDeveloperПроба использовать BLOB показала жуткие тормоза.

Значит ты неправильно его использовал.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37190674
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TMDeveloperА как быть, если мне нужно два поля в таблице по 30кб? Не упоминать их в одном запросе.
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37190682
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TMDeveloper. Проба использовать BLOB показала жуткие тормоза.
а шо там за серверотрясение? Блобы - не пуля, конечно, но все-таки...
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37190697
TMDeveloper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
>> Не использовать utf8 на клиенте.

Надо.

>>Значит ты неправильно его использовал.

Несколько сот записей за раз загружаются, 1,2,3 записи могут содержать один документ (картинка) - результат сразу пакуется и по tcp/ip отправляется на сервер. Т.е. экспорт.
BLOB всяко тестировался, т.к. очевидно, что он удобнее, но хранение построчно документа в base64 дает сильное преимущество по производительности при выгрузке да и вообще даже при отображении одной картинки.

Когда наконец не будет ограничений 32к и 64к??
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37190714
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TMDeveloperрезультат сразу пакуется и по tcp/ip отправляется на сервер. Т.е. экспорт. BLOB всяко
тестировался

Я чую дот-нет провайдер...
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37190733
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TMDeveloper1,2,3 записи могут содержать один документ (картинка) - результат сразу пакуется и по tcp/ip отправляется на сервер. Т.е. экспорт.
как бы хорошо не звучало "блоб медленный", но еще лучше звучит "хранить картинки в варчаре - изврат".
TMDeveloperКогда наконец не будет ограничений 32к и 64к??
чтобы хранить мегабайтные картинки в варчаре? да ты болен :-)
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37190735
TMDeveloper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Я чую дот-нет провайдер...

:-)

Нет, FIBPlus 7.0.15, Delphi XE Prof.
Тормоза из-за массовости. Понятно, что загрузка 2-3 картинок из блоба не покажется юзеру утомительной, но если их 100...

Попробую не упоминать оба поля в одном запросе. Т.е. по два запроса на запись будет. Если результат покажет сравнимое с BLOB время, то видимо придется юзать BLOB.

А вот если б небыло ограничения в 32 и 64к, то таких проблем небыло бы. 21 век, 64-разрядные процы о ОС... а у нас 64к.. Ппц, так и сидим в 1980х. :-(
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37190741
TMDeveloper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 kdv

Сам болен ;-)

Нужна максимальная производительность и практика показывает, что хранение в варчарах самое быстрое с точки зрения извлечения! Потестируй сам.
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37190744
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я не собираюсь тестировать, и так понятно. Тем не менее, пихать картинки в варчар - это надевать штаны на голову.
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37190749
TMDeveloper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> чтобы хранить мегабайтные картинки в варчаре? да ты болен :-)

Картинки как раз по 10-100кб примерно. На самою большую, которая пока была, уходило 2 записи с двума варчарами.
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37190760
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TMDeveloperНет, FIBPlus 7.0.15, Delphi XE Prof.

Ох, что-то ты делаешь не так... При таком размере блоба не должно быть разницы.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37190767
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кстати, ну пакуется картинка. ну отправляется по tcp. В дремучем 1997 году я долбал InterBase 5.0 блобами, хранил там текстовые документы (можно было любые), и база была 24 гига. Так вот, задолбать InterBase не удалось, потому что из-за "массовости" (а каждый блоб был где-то по 8 килобайт) просто заткнулся сетевой канал.

дальше, что с варчарами, что с блобами, картинка в 100к будет на диске занимать те же 100к. То есть, дисковый io тут практически ни при чем, более того, таблица оказывается вусмерть забита этими самыми варчарами, и сервер собирает запись из фрагментов с разных страниц. Вопрос - может, что-то у вас не так с вытаскиванием картинок из блобов?
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37190774
TMDeveloper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Ох, что-то ты делаешь не так... При таком размере блоба не должно быть разницы.

Есть. Большинство картинок умещается в одну запись с двумя варчарами. Поэтому на извлечение одной картинки уходит одно обращение к серверу. При этом открыв pFIBQuery и слизав оттуда одну за другой картинки сильно быстрее. В один запрос все сразу. А как извлекается блоб? Фактически в два обращения к серверу! Т.е. на каждую заголовочную запись картинки еще идет обращение за содержимым блоба. Вот и разница.

Я не прав?
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37190791
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TMDeveloperкаждую заголовочную запись картинки еще идет обращение за содержимым блоба. Вот и разница.
ну и что? какие то два несчастных tcp пакета в ЛОКАЛЬНОЙ системе замедляют работу прямо жуть? Переходи на ФБ 2.5...
Ты же пишешь, что РЕЗУЛЬТАТ ВЫБОРКИ отправляешь клиенту по tcp. То есть, блоб или варчар ты вытаскиваешь локально. И скорость соединения твоей проги с ФБ не ограничена скоростью соединения клиента с твоей прогой.

Потестить, конечно, можно. Например, хранить куски по 30-20к на страницах 8к, и посмотреть, что будет быстрее, блобы и варчары, и насколько. Варчары будут быстрее конечно, но думаю, не так чтобы адски.
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37190804
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TMDeveloperЯ не прав?
Неправ.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37190813
TMDeveloper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 kdv

> какие то два несчастных tcp пакета в ЛОКАЛЬНОЙ системе замедляют работу прямо жуть?

Логика: Юзер жмет кнопку "Экспорт". Программа выводит modal-окно с индикатором, быстренько готовит пакет, ложит его на диск, закрывает окно с индикатором и запускает отдельный TThread, который и уже гонит в фоне данные через интернет. Если юзер будет ждать пока данные онлайн из базы через инет перекачаются на сервер, то он курить замучается.
Т.е. речь идет о том, чтобы быстро приготовить данные и запустить их отправку уже в фоне.

Короче, спасиба всем. Ваши мысли я понял. Сеня действительно попробую сделать просто одну таблицу с одним полем варчар 32к вместо блоба и попробую так, т.е. на картинку будет уходить по 2-4 записи в таблице. И тоже самое с использованием блоба. Время засеку, тут выложу. Посмотрим.
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37190816
TMDeveloper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Dimitry Sibiryakov

Не прав в чем именно?
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37190829
TMDeveloper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если кто-то спросит почему нельзя готовить пакет в фоне, отвечаю, потому что логика такая, не должен юзер во время подготовки пакета ничего изменять, поэтому modal окно с индикатором. Программа не сетевая.
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37190830
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TMDeveloperНе прав в чем именно?

В подсчёте обращений к серверу.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37190834
TMDeveloper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Dimitry Sibiryakov

Тогда чем объяснить, что блоб медленнее варчара? Реально медленнее - факт!
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37190868
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TMDeveloperРеально медленнее - факт!
Не вижу факта. Только твои утверждения. Воспроизводимый пример на API - в студию! Кривые
обёртки - фтопку.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37190872
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TMDeveloperТогда чем объяснить, что блоб медленнее варчара? Реально медленнее - факт!Факт - это воспроизводимый тесктейз. Пока его нет, это "подземный стук".
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37190875
TMDeveloper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Кривые обёртки - фтопку.

Ты имеешь ввиду FIB+ и мое приложение?:)
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37190877
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TMDeveloperЕсли кто-то спросит почему нельзя готовить пакет в фоне, отвечаю, потому что логика такая, не должен юзер во время подготовки пакета ничего изменять, поэтому modal окно с индикатором. Программа не сетевая.уровень изоляции снапшот запретили враги. От жеж негодяи!
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37190885
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TMDeveloperТы имеешь ввиду FIB+ и мое приложение?:)

Именно.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37190889
TMDeveloper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> уровень изоляции снапшот запретили враги. От жеж негодяи!

Приложение однопользовательское со встроенным FB
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37190894
TMDeveloper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Dimitry Sibiryakov

> Именно.

Ну если писать на API не используя FIB+ и др., тогда преимуществ у FB маловато остается.
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37190903
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TMDeveloper> уровень изоляции снапшот запретили враги. От жеж негодяи!

Приложение однопользовательское со встроенным FBИ что с того? Не вижу логики.
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37190913
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TMDeveloperпреимуществ у FB маловато остается.

Перед кем?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37191036
TMDeveloper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Dimitry Sibiryakov
2 kdv

Ладно, забьем что быстрее, варчар или блоб. Не суть уже. Объясните пожалуйста это:

Можно так:
CREATE TABLE TEST_1 (
ASCI_1 VARCHAR(32764) CHARACTER SET ASCII,
ASCI_2 VARCHAR(8186) CHARACTER SET ASCII
);
Т.е. всего 32764+8186=40950 символов

Можно и так:
CREATE TABLE TEST_2 (
ASCI_1 VARCHAR(8186) CHARACTER SET ASCII,
ASCI_2 VARCHAR(32764) CHARACTER SET ASCII
);
Т.е. те же 40950 символов.

А вот так, те же 40950 символов, уже нельзя:
CREATE TABLE TEST_3 (
ASCI_1 VARCHAR(20475) CHARACTER SET ASCII,
ASCI_2 VARCHAR(20475) CHARACTER SET ASCII
);
Выдает ошибку про блок сайз.

Почему?
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37191041
TMDeveloper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
и ведь даже так нельзя!!
CREATE TABLE TEST_4 (
ASCI_1 VARCHAR(10000) CHARACTER SET ASCII,
ASCI_2 VARCHAR(10000) CHARACTER SET ASCII
);
Ошибка про блок сайз.
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37191045
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TMDeveloperи ведь даже так нельзя!!

Считай на пальцах: (10000*4+2)+(10000*4+2) = 80004. 80004 больше чем 65535.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37191063
TMDeveloper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Dimitry Sibiryakov
> У тебя лимит в 64к преодолел конечный result set, который уже в кодировке utf8.

Поля в ASCI, т.е. 100% в UTF8 они будут по 1 байту. Откуда берется
переполнение 64к в "конечный result set, который уже в кодировке utf8."?

> Считай на пальцах: (10000*4+2)+(10000*4+2) = 80004. 80004 больше чем 65535.

Слушай, не тупи, Тогда почему можно
(32764*4+2)+(8186*4+2)=131056+2+32744+2=163804 ??

Максимальное с двумя одинаковыми полями в ASCI можно так:
CREATE TABLE TEST_5 (
ASCI_1 VARCHAR(8189) CHARACTER SET ASCII,
ASCI_2 VARCHAR(8189) CHARACTER SET ASCII
);

Это (8189*4+2)+(8189*4+2+)=32756+2+32756+2=65516.
Т.е. в случае двух полей в ASCI баг налицо.
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37191071
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TMDeveloperТогда почему можно

Почему ты так уверен, что можно?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37191085
TMDeveloper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Потому что я сижу за компом и пробую как можно.
В IBExpert-e таблица

CREATE TABLE TEST_1 (
ASCI_1 VARCHAR(32764) CHARACTER SET ASCII,
ASCI_2 VARCHAR(8187) CHARACTER SET ASCII
);

В нее можно вставить. Потом перезакрыть БД, открыть таблицу - все видно,
читается. Но вот редактировать, да, нельзя, "блок сайз" вылезает.
Но при вставке картинок редактирование и не надо. Поэтому я не сразу заметил,
что редактировать уже вставленное нельзя. За это сорри.

Почему под поля ASCI в UTF8 резервируется память в 4 раза больше чем надо?
В UTF8 символы ASCI всегда 1 байт, а не 4. (В UTF16 всегда 2 байта на все символы)
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37191087
TMDeveloper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
про UTF16 я винду имею ввиду и в частности Delphi XE
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37191090
TMDeveloper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Блин, это что, если БД в UTF8, то побарабану какие чарсеты полей? Все чарсеты будут в 4 байта переводиться?? Бред. Тогда нафига такой выбор чарсетов, если все они себя как UTF8 ведут. Тогда все поля в UTF8 и все... Попал я с переходом на юникод, просто ппц... :-(
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37191094
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все чарсеты при выборке переводятся в чарсет коннекта. И это правильно.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37191100
TMDeveloper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хорошо, пусть переводятся. Но ведь строка в ASCI в UTF8 будет как есть. UTF8 плавающий формат, а не фиксированный, как UTF16.
Коннект в UTF8, тогда памяти под строку "абвгд" надо 10 (или 12 с BOM) байт, а под строку "abcde" точно 5 (или 7 с BOM). Нафига все конвертировать в 4 байта? Хотя наверняка так - выделяется память под все поля без учета их чарсетов, т.е. тупо все по 4 байта, причем при использовании полей ASCI остается масса ненужно выделенной памяти. Это же не правильно, не рационально. Наверно нужно сначала анализировать чарсеты... Я разочарован в FB. Т.е. под строки даже в 10кб нужно использовать блоб? Это однозначно мертворожденное приложение получится...
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37191106
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TMDeveloperвыделяется память под все поля без учета их чарсетов

Ты знаешь функцию ICU которая бы для данного чарсета выдала максимальные размер его
символа в UTF8?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37191113
TMDeveloper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нет. Но если поле ASCI, то максимальный размер символа 1 байт всегда. Как можно символ с кодом меньше 128 впихнуть в 4 байта.. Стандарт UTF8 такое предусматривает... Интересно даже. Сейчас посмотрю.
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37191118
Esperito
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TMDeveloper , сделай отдельный коннект к базе с чарсетом NONE и передавай конкретно эти данные через него.
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37191127
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
RECREATE TABLE TEST (
  ID INT,
  F1 VARCHAR( 32700 ) CHARACTER SET OCTETS,
  F2 VARCHAR( 32700 ) CHARACTER SET OCTETS
)
COMMIT
SELECT * FROM TEST

INSERT INTO TEST VALUES ( 1 , LPAD(_OCTETS'',  32700 , _OCTETS'-'), LPAD(_OCTETS'',  32700 , _OCTETS'+'))
SELECT * FROM TEST
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37191138
TMDeveloper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Esperito
Ну это уже решение на коленках, тоже самое, что все строки хранить кусками в варчарах в разных записях одной таблицы. Вопрос уже не про блобы и варчары, вопрос уже ппц... Принципиальный. С ужасом осознал что имеющиеся проекты на FB на юникод не перевести, проще начинать сначала и на другом сервере. А я то наивный думал, что в Delphi буду мучаться c PAnsiChar/PWideChar :-) В Delphi все перевелось на юникод в течении суток и прекрасно работает, а с FB просто патовая ситуация. Расстроился, честно, ппц...

Здравый смысл: два поля, одно UTF8(10 символов) второе ASCI(10 символов). Во что превратится итоговая строка UTF8? Здравый смысл подсказывает что 10*4+10=50, а не 10*4+10*4=80. 30 байт просто зря выделены и являются паразитирующими.

Навеяло, с баш.орг:

Наш программер по телефону: Это вы рассуждаете с точки зрения здравого смысла, а не реализации в FB....


Может кто знает, на какой сервер можно срочно слинять? Может у Yaffil с этим получше?
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37191141
TMDeveloper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 hvlad

Опа, забрезжила надежда. Скажи в двух словах, куда копать? Разве OCTETS
не будет так же в 4 байта переводиться? Мне в таблице кроме
этих двух полей в OCTETS надо еще поле в UTF8 под комментарий.
Думаешь получится? Не будет из-за одного поля в UTF8 все в 4 байта переводиться?
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37191150
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TMDeveloper> Не будет из-за одного поля в UTF8 все в 4 байта переводиться?

А что на это говорит вышеупомянутый здравый смысл? Или тут он решил замолчать?

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37191151
TMDeveloper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Гаджимурадов Рустам

OCTETS ниразу не юзал, здравый смысл пока не сформировался.
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37191155
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TMDeveloperСкажи в двух словах, куда копать? Разве OCTETS не будет так же в 4 байта переводиться?Не будет, проверь сам.

TMDeveloperНе будет из-за одного поля в UTF8 все в 4 байта переводиться?OCTETS поля - не будут, остальные чарсеты - будут.

А скажи мне - на кой тебе там 2 поля ?
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37191161
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladCHARACTER SET OCTETS,

А я-то всё ждал у кого первого не выдержат нервы...

Ты лучше скажи кому в голову пришла "светлая" идея молча обрезать размер поля в
32764 байта?..
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37191162
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovТы лучше скажи кому в голову пришла "светлая" идея молча обрезать размер поля в 32764 байта?..
Ты опять о чём-то своём говоришь. Я не намерен догадываться. Есть чем заняться и без того.
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37191166
TMDeveloper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 hvlad

Спасиба! Реально есть надежда. Ночь впереди, буду пробовать.

> А скажи мне - на кой тебе там 2 поля ?

Лучше не спрашивай :-) Я там в base64 картинки храню с целью быстрого извлечения их, т.к. мне "кажется" (в чем меня тут заставляют сомневаться), что 1000 картинок по 50кб быстрее вытащить из 1000 строк с двумя варчарами, в которых они хранятся, нежели вытаскивать 1000 блоб-полей.

Еще ты скажи, что надо блобы использовать, и что они такие же быстрые, как и строки с варчарами.
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37191171
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladТы опять о чём-то своём говоришь. Я не намерен догадываться. Есть чем заняться и без того.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
SQL> set names utf8;
SQL> connect test;
Database:  test
SQL> create table w_t(a varchar( 32000 ) character set win1251);
SQL> set sqlda_display on;
SQL> set planonly on;
SQL> select a from w_t;

INPUT  SQLDA version:  1  sqln:  10  sqld:  0 

PLAN (W_T NATURAL)

OUTPUT SQLDA version:  1  sqln:  20  sqld:  1 
 01 : sqltype:  449  VARYING   Nullable sqlscale:  0  sqlsubtype:  [b]4 [/b] sqllen:  [b]32764 [/b]
   :  name: ( 1 )A  alias: ( 1 )A
   : table: ( 3 )W_T  owner: ( 11 )SD-ACER7\SD

SQL> show version;
ISQL Version: WI-V2. 5 . 1 . 26237  Firebird  2 . 5 
Server version:
Firebird/x86/Windows NT (access method), version "WI-V2.5.1.26237 Firebird 2.5"
Firebird/x86/Windows NT (remote server), version "WI-V2.5.1.26237 Firebird 2.5/XNet 
(SD-ACER7)/P12"
Firebird/x86/Windows NT (remote interface), version "WI-V2.5.1.26237 Firebird 2.5/XNet 
(SD-ACER7)/P12"
on disk structure version  11 . 2 
Ы?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37191177
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TMDeveloper> Я там в base64 картинки храню

Занавес.

TMDeveloper> Еще ты скажи, что надо блобы использовать, и
TMDeveloper> что они такие же быстрые, как и строки с варчарами.

Я скажу. Я даже больше скажу - тут 1000 БЛОБов не надо, хватит одного.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37191181
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TMDeveloper> А скажи мне - на кой тебе там 2 поля ?

Лучше не спрашивай :-) Я там в base64 картинки храню Зачем увеличивать объём на треть ???

TMDeveloperцелью быстрого извлечения ихИ два поля ускоряют извлечение, по сравнению с одним ???

TMDeveloperЕще ты скажи, что надо блобы использоватьИ что ? Ты меня проклянёшь, если скажу ?

TMDeveloperи что они такие же быстрые, как и строки с варчарами.Через сеть - медленнее, локально - нужно мерять.
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37191187
TMDeveloper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Гаджимурадов Рустам

В смысле свалить все в кучу? На кой? С ними по отдельности работают. Это фотки людей, кто вошел на режимное предприятие по проксимити-карте. В один большой блоб зачем складывать? Чтобы потом извлечь одну конкретную нужно извлекать все (весь блоб)??

Пожалуйста, не умничай.
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37191193
TMDeveloper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 hvlad

> Через сеть - медленнее, локально - нужно мерять.

Локально быстрее. Поверь, меряли и не раз, и не я один. Варчары сильно быстрее блобов.
Тут kdv похоже идею для тестов придумал, вдруг на самом деле сделает такие тесты.
Я уверен, что у него результат по скорости в пользу варчаров окажется. У нас с ним
одни и те же инструменты так то.
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37191197
TMDeveloper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 hvlad

> Зачем увеличивать объём на треть ???

Хм.. а как бинарные данные в варчар поместить? Скажи еще что их в OCTETS можно поместить... Это будет для меня тогда отровение реально. Т.к. как из делфей сделать такой запрос чтобы бинарные данные загнать в pFIBQuery.sql я ума не приложу.
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37191200
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TMDeveloperЭто будет для меня тогда отровение реально.

Может, тебе в самом деле лучше пойти на MySQL?.. А то о OCTETS ты не слышал, о
параметризованных запросах - тоже...
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37191203
TMDeveloper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 hvlad

Мы даже для этого специально писали низкоуровневую процедуру, которая PAnsiChar в строку в base64 в AnsiString даже объемом в 10мб за доли секунды рубит и обратно. Фиг с ним, что объем на треть, зато скорость сильно выше.
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37191207
TMDeveloper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Dimitry Sibiryakov

Вот ты зачем язвишь?
Почему сразу про OCTETS не сказал?
Нда...
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37191209
TMDeveloper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Dimitry Sibiryakov

И вообще, почему бы тебе самому не пойти на ора кл
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37191212
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TMDeveloperПочему сразу про OCTETS не сказал?

"Как любит выражаться наш Магистр Нуфлин: "ты мне еще не заплатил за поговорить!"" (c) МФ
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37191223
TMDeveloper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Dimitry Sibiryakov

Прекращай. А то до добра не доведет. Ок?
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37191230
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov"Как любит выражаться наш Магистр Нуфлин: "ты мне еще не заплатил за поговорить!"" (c) МФ

PS Справедливости ради - ты тоже тут никому не платил за "тебя послушать"
PPS Нет на тебя сэра Шурфа
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37191239
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladPPS Нет на тебя сэра Шурфа

Зато на меня есть ты. Так что скажешь о sqllen из листинга повыше? Я как-то побоялся
запихать в поле 32 тысячи букв "Ы"... Мало ли что там упадёт от такого...
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37191242
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovТак что скажешь о sqllen из листинга повыше? Я как-то побоялся
запихать в поле 32 тысячи букв "Ы"... Мало ли что там упадёт от такого...
Дык засунь и по результатам или в трекер, или в fb-devel ;)
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37191245
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladА скажи мне - на кой тебе там 2 поля ?Сам скажу - в одно больше 32К не засунуть, вылетело из головы.
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37191256
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TMDeveloper> В смысле свалить все в кучу?

В смысле не разбивать по одной. Вы ведь именно это
делаете, когда фотка в одну запись не помещается?

P.S. Насчет сильно медленнее - сомнительно.
Ибо скорее всего, зависит от сети, размера пакетов
и размера сегмента БЛОБов. А-то щас опять поди
выяснится, что они по 80 байт пишутся...

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37191285
TMDeveloper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Гаджимурадов Рустам

Почитай весь топик
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37191299
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladДык засунь и по результатам или в трекер, или в fb-devel ;)

На удивление ничего не упало, при фетче получил
Код: plaintext
1.
2.
Statement failed, SQLSTATE =  22001 
arithmetic exception, numeric overflow, or string truncation
-string right truncation
И куда с этим? В трэкер неудобно, там есть и поважнее от меня тикеты, в девеле так
увлечённо обсуждают новую перделку API, что прерывать не хочется...
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37191310
TMDeveloper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 hvlad

Переделал на OCTETS. Все летает как прежде.
Спасиба.
Все как оказывается просто, не на 3 страницы. Сразу бы написали про OCTETS и было бы всего два мессаджа, однако раскрутили на 3 страницы флуда.

Dimitry Sibiryakov, не отвечай больше никогда на мои вопросы, пожалуйста ;-) Да и вообще, лучше никому не отвечай ;-)
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37191363
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TMDeveloperDimitry Sibiryakov, не отвечай больше никогда на мои вопросы, пожалуйста ;-) Да и вообще,
лучше никому не отвечай ;-)

Да я, собственно, и не отвечаю на вопросы. Это, знаешь ли, не в моих интересах.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37191404
NickDee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамИбо скорее всего, зависит от сети, размера пакетов
и размера сегмента БЛОБов. А-то щас опять поди
выяснится, что они по 80 байт пишутся ...

Почему-то отложилось в памяти что с некоторых пор SEGMENT SIZE у блобов ни на что не влияет.
Это заблуждение или нет?
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37191406
TMDeveloper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovTMDeveloperDimitry Sibiryakov, не отвечай больше никогда на мои вопросы, пожалуйста ;-) Да и вообще,
лучше никому не отвечай ;-)

Да я, собственно, и не отвечаю на вопросы. Это, знаешь ли, не в моих интересах.


За последние 12 часов моя жена нашла у меня много лишних седых волос. Угадай от чьих ответов они появились? Зачем ты вообще рот открывал, если не хочешь помогать реально? И нах стебался и язвил? Тебя этому в школе чтоли учили? За это в табло получить нужно, для воспитания. Герой бл%ть.
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37191441
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TMDeveloperПочитай весь топикА чего его читать? Итак ясно, что у вас руки кривые. У меня, например, БЛОБы быстрее, даже по сети.
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37191449
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NickDee> Это заблуждение или нет?

Про segment size в объявлении - заблуждение.
Я же сказал немного по-другому.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37191450
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ГР> NickDee> Это заблуждение или нет?
>
> Про segment size в объявлении - заблуждение.

Т.е. не заблуждение, т.е. не влияет.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37191452
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TMDeveloper> За это в табло получить нужно, для воспитания. Герой бл%ть.

Зато за это бан можно схлопотать. И еще один подобный пост - и схлопочешь.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37191453
TMDeveloper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Итак ясно, что у вас руки кривые. У меня, например, БЛОБы быстрее, даже по сети.Я

Каждому свое. Я Вас поздравляю.

Зы. Почитайте всетаки внимательно топик весь.
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37191461
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TMDeveloper> Каждому свое. Я Вас поздравляю.

Спасибо. То бишь голословные утверждения про значительную
разницу в скорости БЛОБов и варчаров мы опровергли.
А утверждение про кривизну рук пока считается правдоподобным.

TMDeveloper> Зы. Почитайте всетаки внимательно топик весь.

А чего его весь читать, да еще внимательно?
Какой конкретно пост я пропустил, по-твоему?

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37191463
TMDeveloper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Гаджимурадов Рустам

А ты, прости, чем мне, кроме флуда в топике помог? Ты кто?:)

> Зато за это бан можно схлопотать. И еще один подобный пост - и схлопочешь.

Да и радибога. Из всех ораторов, крутых опытных, что аж в глазах темнееет, никто
кроме hvlad решения не предложил. От всех остальных флуд.

И за что бан?:)

Короче надоело. Я спать. Сюда врядли вернусь.
Забаните ну и пох. Сами юзеров ФБ от алтаря отлучите.
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37191465
TMDeveloper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Гаджимурадов Рустам

Извини, не смог удержаться :-)
Знаешь басню про слона и моську?:)
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37191467
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TMDeveloper> А ты, прости, чем мне, кроме флуда в топике помог?

Гм... Я заметил топик после поста Влада.
Да и заглянул в топик только из-за этого.
Чем помог - ну, например, подсказал,
что скорее всего вы там чего-то либо
намудрили, либо недомудрили, раз
скорость не устраивает. Деталей же ты
не рассказываешь, ни примеров, ни кода.

> никто кроме hvlad решения не предложил.

Да и он совершенно зря это сделал.
Пожалел, наверное, чтобы не убился об амбразуру.

Насчет остального - попутного ветра в спину.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37191470
TMDeveloper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Гаджимурадов Рустам

Тебе самому не стремно за себя?:) Моська:)

Отвали, короче, балбес.

Остальным спокиноки.
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37191479
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот и попрощались. :)

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37191482
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамВот и попрощались. :)

Теперь несчастных пользователей ТрансМенеджера посылать нахрен: разработчик покинул здание.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37191494
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зачем же нахрен - в техподдержку.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37191511
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мда. ладно. идея теста у меня осталась, но реализовать я ее смогу только после 7-го, когда из Парижа вернусь. Авось Франция не вышибет мне мозги.

Мысля такая - писать в варчары и блобы одни и те же данные, в варчары кусками, в блоб целиком. Считывать в память, и там это дело херить. Мерять скорость считывания. С учетом Embedded, как я понял?
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37191526
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да что там реализовывать-то, тестить?
Я на коленке с нуля тест набросал за
10 минут, включая само тестирование.
При чем пару минут из этих 10 я искал
картинку для БЛОБа.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37191527
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а результат-с?
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37191550
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Результат выше я озвучил - БЛОБы быстрее и локально, и по сети.
Разница на порядок. По сети, разумеется, разница увеличивается.

Более конкретные цифры зависят от "предпосылок" , т.е. задачи.
Скажем, я тестировал на указанном автором размере БЛОБов
и 1000 записей. Если уменьшить количество записей до 100 -
разница будет менее заметна. Наверное, можно подобрать
какое-то количество записей (скажем, 10), начиная с которого
БЛОБы окажутся медленнее, но при таком количестве записей
говорить о времени будет смешно, ибо разница будет мизерна
и незаметна, и потому на практике никому не интересна.

P.S. FB 2.5. "Тестировал" через IBE, то бишь "тоже" FIBPlus.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37191737
Alex Truhin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамРезультат выше я озвучил - БЛОБы быстрее и локально, и по сети.
Разница на порядок. По сети, разумеется, разница увеличивается.

Что то не то натестировал, IBE вроде сразу в память блобы не загружает. Да и не откуда блобам быть быстрее.
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37192496
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
 procedure  TFormMain.N1Click(Sender: TObject);
 var 
  T:  TDateTime;
  S:  string ;
 begin 

   with  pFIBDataSet1  do 
   begin 
 //      SelectSQL.Text :=  'select tmpstr, tmpstr1  from mo_frx_report'; // varchar(32000) win1251 
     SelectSQL.Text :=  'select Blob1  from mo_frx_report';
      T := Time;
      Open;
       try 
          while   not  eof  do 
          begin 
           S := FieldByName('Blob1').asString;
   //        S := FieldByName('tmpstr').asString + FieldByName('tmpstr1').asString; 
            Next;
          end ;
         ShowMessage(FormatDateTime('ss:zzz', Time-T));
       finally 
         Close;
       end ;

   end ;
 end ;
Проверял на от 100 до 400 записей. Разница в 2 раза Для 400 записей время строки 170 мс, блоба - 320 мс. Из-за этого городить огород?
Попутно, если у Вас в в блобе будет 0 байт (белое пятно на изображении), как Вы будете строки обрабатывать
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37192620
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Молочный Александр,

Таблицы в тесте заполнены или поля пустые ?
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37192749
Siemargl,
заполнены, единственно не картинками а xml текстом
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37193151
NickDee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чего-то торкнуло проверить скорость varchar(32762) vs binary blob.

База FB 2.1.3 win1251, чарсет коннекта win1251.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
CREATE TABLE "TestVarchars" (
    ID  INTEGER NOT NULL,
    V1  VARCHAR( 32762 )
);

CREATE TABLE "TestBlobs" (
    ID  INTEGER NOT NULL,
    B   BLOB SUB_TYPE  0  SEGMENT SIZE  80 
);
вставил в каждую таблицу по 1001 записи(32762 байта бинарных данных на каждую запись(часть gif-картинки))


Дальше делаю while not eof + присваивание значеня в переменную(для порядка).

тест на SS(TCP, Host 127.0.0.1):
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
 31 . 03 . 2011   21 : 46 : 29 . 171 :
Start Transaction: Ok, Id =  2954 

 31 . 03 . 2011   21 : 46 : 29 . 187 :
[TransId =  2954 ]
select
  "TestBlobs"."ID" as "Id",
  "TestBlobs"."B"
from "TestBlobs"
[OpenTime =  15  ms]

 31 . 03 . 2011   21 : 46 : 29 . 328 :
Commit Transaction [Id =  2954 , WorkTime =  0 . 156  sec] Ok

 31 . 03 . 2011   21 : 46 : 29 . 359 :
Start Transaction: Ok, Id =  2956 

 31 . 03 . 2011   21 : 46 : 29 . 359 :
[TransId =  2956 ]
select
  "TestVarchars"."ID" as "Id",
  "TestVarchars"."V1"
from "TestVarchars"
[OpenTime =  0  ms]

 31 . 03 . 2011   21 : 46 : 29 . 453 :
Commit Transaction [Id =  2956 , WorkTime =  0 . 094  sec] Ok
и на Embedded:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
 31 . 03 . 2011   21 : 47 : 39 . 125 :
Start Transaction: Ok, Id =  2966 

 31 . 03 . 2011   21 : 47 : 39 . 125 :
[TransId =  2966 ]
select
  "TestBlobs"."ID" as "Id",
  "TestBlobs"."B"
from "TestBlobs"
[OpenTime =  0  ms]

 31 . 03 . 2011   21 : 47 : 39 . 203 :
Commit Transaction [Id =  2966 , WorkTime =  0 . 078  sec] Ok

 31 . 03 . 2011   21 : 47 : 39 . 218 :
Start Transaction: Ok, Id =  2968 

 31 . 03 . 2011   21 : 47 : 39 . 218 :
[TransId =  2968 ]
select
  "TestVarchars"."ID" as "Id",
  "TestVarchars"."V1"
from "TestVarchars"
[OpenTime =  0  ms]

 31 . 03 . 2011   21 : 47 : 39 . 343 :
Commit Transaction [Id =  2968 , WorkTime =  0 . 125  sec] Ok
см. значения WorkTime.

правда это не FIBPlus, a UIB. Ну и Delphi XE.
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37193181
oleg_m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IMHO

NickDee, Молочный Александр,

мужики, чего вы там меряете на сотне записей, в диапазоне меньше полсекунды?
во-первых там точность измерения сравнима с результатом,
а во-вторых, разница "170 мс против 320 мс" - вы думаете, пользователь на сайте это заметит?
или кто-то будет бороться за ускорение страницы целиком на 100ms ?

если вы реально хотите сравнить - поднимите в 30-50 раз кол-во записей.

Юзер рассуждает так: то, что дольше 3 сек - это "тормоза". то, что быстрее секунды - "шустро".
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37193185
NickDee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
oleg_mIMHO

NickDee, Молочный Александр,

мужики, чего вы там меряете на сотне записей, в диапазоне меньше полсекунды?

Я мерял на 1000 записях. Итого данных получилось на 32МБ. Можно конечно увеличить количество до 10000, но этот case будет уже совсем не из реальной жизни, т.к. отдавать в web за раз 320MB - это уже ни к чему :)
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37193201
oleg_m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NickDeeЯ мерял на 1000 записях. Итого данных получилось на 32МБ. Можно конечно увеличить количество до 10000, но этот case будет уже совсем не из реальной жизни, т.к. отдавать в web за раз 320MB - это уже ни к чему :)
понимаю. но я уже не относительно вэба, а именно относительно заявления "блобами [значительно] медленн ее ", типа "по-определению"
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37193211
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NickDeeЧего-то торкнуло проверить скорость varchar(32762) vs binary blob
а зачем кислое с пресным сравнивать? Если тебе нужен чарсет, то блоб должен быть текстовым, если не нужен, то варчар должен быть бинарным (octets).
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37193243
NickDee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitrNickDeeЧего-то торкнуло проверить скорость varchar(32762) vs binary blob
а зачем кислое с пресным сравнивать? Если тебе нужен чарсет, то блоб должен быть текстовым, если не нужен, то варчар должен быть бинарным (octets).
Если чарсет коннекта win1251, то разницы между varchar-ами win1251 и octets по скорости нет.
Но если чарсет коннекта UTF8, то есть проблемка: как понять что у нас поле типа octets, т.е. что данные этого поля нужно интерпретировать именно как бинарные? У нас где-нибудь передаётся charset поля?
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37193255
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NickDee,

у нас передается, у вас - не знаю :-)
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37193259
NickDee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitrу нас передается, у вас - не знаю :-)
Это хорошо. А в чём он у вас передаётся? :)
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37193299
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NickDee,

в xsqlvar, вестимо. Поле sqlsubtype.
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37193322
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitrв xsqlvar, вестимо. Поле sqlsubtype.

Кстати, где-то у kdv была статья про это, но я не смог её вчера найти. Там по результатам
исследований Коваленко была описана вся история сообщения чарсетов.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37193324
NickDee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitrПоле sqlsubtype.
Спасибо.
У меня получилось sqlsubtype = 1 для octets.
А для поля win1251 зависит от чарсета коннекта:
для utf8 sqlsubtype = 4,
для win1251 sqlsubtype = 52.

Где можно посмотреть весь список этих констант? Посмотрел в ibase.h и не нашёл.
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37193355
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NickDeeГде можно посмотреть весь список этих констант? Посмотрел в ibase.h и не нашёл.RDB$CHARACTER_SETS
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37193357
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NickDee,

Код: plaintext
1.
select rdb$type, rdb$type_name from rdb$types
where rdb$field_name = 'RDB$CHARACTER_SET_NAME'
дубликаты имен - это алиасы
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37193367
NickDee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот спасибо :)
Кстати нашёл-таки обсуждение: FB 2.5 & VARCHAR & sqlsubtype & encoding
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37193529
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex Truhin> Что то не то натестировал, IBE вроде сразу в память блобы не загружает.

ХЗ, возможно. Я на всякий случай юзалc ibeblock
с ibe-trim-ом внутри (что дает доп.нагрузку и тест
получается более грязным, кстати). Не думаю, что
IBE умеет это делать, не загружая сами БЛОБы.
Но можно уточнить у АК, если настаиваешь.

Alex Truhin> Да и не откуда блобам быть быстрее.

ХЗ, факты есть факты. Возможно, что они не должны быть
быстрее и должны быть медленнее, но заявленной разницы
в скорости на порядок не в пользу БЛОБов не наблюдаю.
По крайней мере, на описанных автором условиях.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37193533
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотя нет, щас перепроверил - локально быстрее, а по сети медленнее.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37193717
Alex Truhin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамХотя нет, щас перепроверил - локально быстрее, а по сети медленнее.

Ну, это похоже на правду. По сети все очень сильно зависит от пинга, а там отдельный запрос на каждый блоб
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37193963
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex TruhinПо сети все очень сильно зависит от пинга, а там отдельный запрос на каждый блоб

При такой длине записи на неё тоже отдельный запрос - размера сетевого буфера не хватает
чтобы доставлять по несколько записей за раз.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37193978
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovAlex TruhinПо сети все очень сильно зависит от пинга, а там отдельный запрос на каждый блоб

При такой длине записи на неё тоже отдельный запрос - размера сетевого буфера не хватает
чтобы доставлять по несколько записей за раз.
blob open\get\close создают дополнительные roundtrip'ы.
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37194036
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladblob open\get\close создают дополнительные roundtrip'ы.

О как... Я думал, их тоже оптимизировали как alloc_statement/free_statement...
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37194113
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakovhvladblob open\get\close создают дополнительные roundtrip'ы.

О как... Я думал, их тоже оптимизировали как alloc_statement/free_statement...
Как ни оптимизируй, минимум 1 останется
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37194162
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladКак ни оптимизируй, минимум 1 останется

В этом случае скорости практически сравняются. Смотри: без блобов мы имеем для каждой
записи большой пакет, не влезающий в сетевой буфер. Т.е. грубо считая, каждый фетч
вызывает запрос к серверу. С блобами мы имеем маленькие записи, которых в буфер влезает
десяток, но должны тянуть блобы отдельно. Т.е. это тот же один сетевой запрос на каждый
блоб + один дополнительный на пачку записей.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37194174
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovhvladКак ни оптимизируй, минимум 1 останется
В этом случае скорости практически сравняются. Возможно.
Я хотел комбинировать open\get и create\put, но руки не дошли в своё время.
Кстати, op_close_blob и op_cancel_blob уже оптимизированны, это я уже успел забыть.
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37194251
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladЯ хотел комбинировать open\get и create\put, но руки не дошли в своё время.

В трекер?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37194515
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Автор топика сделал тест, и получил результат (на картинке).
Он же выяснил, что тормоза при обработке блобов проявляются только если блоб сохранять как asString. Если сразу в файл (SaveToFile), то блобы чуть быстрее варчаров.
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37194523
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл добавить. тест локальный, не по сетке.
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37194531
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvтолько если блоб сохранять как asString.

И кто ещё на первой странице сказал про кривые обёртки?..
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37194557
BanditJolly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvАвтор топика сделал тест, и получил результат (на картинке).Поскольку автора топика не знаю, спрошу на всякий.
Между нажатиями на кнопки машина перегружалась?
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37194560
m7m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BanditJollykdvАвтор топика сделал тест, и получил результат (на картинке).Поскольку автора топика не знаю, спрошу на всякий.
Между нажатиями на кнопки машина перегружалась?

Думаешь, он потом картинки склеивал :)
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37194564
BanditJolly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BanditJolly,

он мог текст в одно из мемо-полей скопировать из предыдущего запуска, но что-то я сомневаюсь.
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37194584
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
со слов автора, когда он давно проводил какие-то другие тесты, варчары были быстрее блобов, возможно это было связано с древними версиями IBX. Сейчас через IBX наоборот, блобы быстрее варчаров примерно в 1.5 раз.
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37194632
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Поскольку автора топика не знаю, спрошу на всякий.
>Между нажатиями на кнопки машина перегружалась?

"Нет, не перегружалась, но результаты - лучшие для каждого
варианта. Кнопки жал по несколько раз, т.к. бывали такие случаи
что блоб и отставал сильно, и варчар выдавал по 20 сек.
Перед вставкой делался count(*) по всем записям.
Т.е. то, что на картинке - лучшее для каждого время."
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37194751
BanditJolly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvСейчас через IBX наоборот, блобы быстрее варчаров примерно в 1.5 раз.Это выгрузка из базы. Что довольно близко к отношению передаваемых объемов данных - 1.33 (так и не понял, зачем он base64 тестировал).
А при загрузке отношение скоростей - 3.3. Или 2.5 с учетом коэффициента 1.33. Это уже заметно.
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37194781
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv> Автор топика сделал тест, и получил результат (на картинке).

Не осилил как 2 с лишним мегабайта он сохраняет и получает в одной записи.

kdv> если блоб сохранять как asString.

Гипотеза про руки доказана.

kdv> Если сразу в файл (SaveToFile), то блобы чуть быстрее варчаров.

Гм... А по картинке вроде бы выходит, что не "чуть" быстрее,
а значительно быстрее. Впрочем, ХЗ, текст мутный.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37195031
NickDee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамНе осилил как 2 с лишним мегабайта он сохраняет и получает в одной записи.

Мои тесты показывают что например через 127.0.0.1 загрузка 50 записей типа VARCHAR(32762) происходит быстрей ~ в полтора раза чем загрузка одного блоба размером 32762*50 байт.
А в случае с embedded разницы нет.
И в обоих вариантах полная загрузка всех данных занимает около 100мс.

Наконец-то получилось полноценно потестировать VARCHAR(32762) OCTETS через UTF8-соединение. Была проблема с символом #0 в данных(тут отличились и компоненты доступа(UIB) и Delphi(класс TWideStringField), они просто обрезают данные начиная с позиции этого символа), ну и компоненты доступа не обрабатывают OCTETS-поля и OCTETS-параметры.
Скорость VARCHAR(32762) OCTETS через UTF8 ничем не отличается от скорости VARCHAR(32762) OCTETS через WIN1251.
Аминь :)
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37195044
NickDee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NickDeeИ в обоих вариантах полная загрузка всех данных занимает около 100мс.

100мс - это на все 16 записей с блобами(по ~1.5MB на запись), или на 800 записей с VARCHAR(32762)
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37195085
Alex Truhin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне вот тоже интересно, как автор умудряется по локальному протоколу грузить 3 мб - 5 сек? Ну не бывает такого!
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37195094
Alex Truhin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотя это я неправильно результаты посмотрел
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37195256
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NickDee> Мои тесты показывают что например через 127.0.0.1

В данном случае тестировать TCP localhost смысла мало, разве что
только для сравнения с embedded (а кому это сравнение нужно?).

NickDee> Скорость VARCHAR(32762) OCTETS через UTF8 ничем не отличается
NickDee> от скорости VARCHAR(32762) OCTETS через WIN1251.

Вывод просто гениальный. Достаточно же было просто спросить или прочитать. :)


NickDee> 100мс - это на все 16 записей с блобами(по ~1.5MB на запись),
NickDee> или на 800 записей с VARCHAR(32762)

Лично я не осилил. Во-первых, зачем количество записей разное?
Во-вторых, про количество записей уже говорили - тестировать
16, 50 и даже 100 записей просто нет смысла.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37195343
NickDee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамВ данном случае тестировать TCP localhost смысла мало, разве что
только для сравнения с embedded (а кому это сравнение нужно?).

Так. Наврал про TCP localhost. Это на самом деле был локальный протокол. TCP localhost получился в 1.5 раза медленней.

Имхо в случае с полноценным TCP мы будем тестировать пропускную способность сети, ограниченную 10МБ в секунду, в то время как FB-сервер будет просто простаивать(в моих тестах c локальным протоколом он отдаёт около 250MB/sec (160 записей по 1.5MB за одну секунду)).

Гаджимурадов РустамNickDee> 100мс - это на все 16 записей с блобами(по ~1.5MB на запись),
NickDee> или на 800 записей с VARCHAR(32762)

Лично я не осилил. Во-первых, зачем количество записей разное?

В одну запись 1.5MB varchar-ов не войдёт, поэтому записей на одну картинку несколько(а точней 50)
Гаджимурадов РустамВо-вторых, про количество записей уже говорили - тестировать
16, 50 и даже 100 записей просто нет смысла.

1. Если например сделать 1000 записей по 1.5MB , то блобов получится уже на 1.5 гига. И мы будем тестировать дисковый IO.
2. Если же база лежит в оперативке, то скорость будет пропорциональна количеству записей. Когда я сравнивал скорость доставания 1000 блобов vs 100 блобов (по 32k), получил отношение 10 к 1.
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37195355
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NickDee> Имхо в случае с полноценным TCP мы будем тестировать пропускную способность сети

Еще раз повторяю, что тестировать TCP localhost смысла мало,
ибо это лишь даст какую-то поверхностную информацию о
преимуществе реализации локального протокола над сететвым
в конкретной версии сервера.

Во-вторых, да, от сети и ее издержек будет многое зависеть и
именно поэтому будут различия. Впрочем, если программа не
сетевая, как у автора на это можно забить, но если кто-то
тестирует для собственного интереса - нужно учитывать.

NickDee> поэтому записей на одну картинку несколько(а точней 50)

Тебе не кажется, что это не случай автора и вообще опять
сравнение кислого с пресным?

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37195370
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам,

локальхост не показатель. Под него есть бывает ОС-оптимизация.
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37195383
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Интересно, в чем смысл этого поста.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37196002
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам,

Пусть тест проведет не с 127.0.0.1, а с любым другим, хотя и локальным адресом.
...
Рейтинг: 0 / 0
Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
    #37196077
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Разницы не будет.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
145 сообщений из 145, показаны все 6 страниц
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Длины полей и ограничения. Не понятно или глюк. FB2.5, IBExpert, UTF8+ASCI
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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