
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
01.03.2019, 17:35
|
|||
|---|---|---|---|
|
|||
Особенности чтения блоб полей в кодироваке UTF8 (FIBPlus) |
|||
|
#18+
Доброго времени суток. Была переведена база Firebird на UTF8. При запуске программы с подключением к этой базе через FIB есть участок кода, который читает много блоб-данных как строку. До перехода на UTF8 этот участок выполнялся до 1сек, после перехода - около 10сек. Был найден тот код, который стал отрабатывает медленно: Код: pascal 1. 2. 3. 4. 5. 6. т.е. раньше выполнялось OldReadBlob, а сейчас ReadBlob. Сравнив код этих процедур стало понятно, что в OldReadBlob при условии Код: pascal 1. блобы с размером 0 просто не участвуют в isc_get_segment. Если вставить условие и отсеять блобы с размером 0 в процедуру ReadBlob, то выполнение сокращается опять до 1сек. Но смущает участок кода в процедуре ReadBlob: Код: pascal 1. 2. т.е. тут либо получение пустых блобов было задумано, либо это условие срабатывает при повторе цикла. Может кто сталкивался или просто знает этот код, можно ли в процедуре ReadBlob не читать пустые блобы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=58&mobile=1&tid=2039736]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
39ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
17ms |
get tp. blocked users: |
1ms |
| others: | 197ms |
| total: | 287ms |

| 0 / 0 |
