|
|
|
Особенности чтения блоб полей в кодироваке 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 не читать пустые блобы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2019, 17:35 |
|
||
|
|

start [/forum/topic.php?fid=58&fpage=80&tid=2039736]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
61ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
24ms |
get tp. blocked users: |
1ms |
| others: | 224ms |
| total: | 348ms |

| 0 / 0 |
