powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / FB 2.5.5 игнорирует индекс по UDF
78 сообщений из 78, показаны все 4 страниц
FB 2.5.5 игнорирует индекс по UDF
    #39181457
asviridenkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обновился с 2.2 до 2.5 и тут же огреб по полной, все стало дико тормозить.
Выяснилось, что индексы по выражению просто игнорируются.
Например, есть индекс с выражением xpath(xml, 'ABC')
При этом запрос вида select * from table where xpath(xml, 'ABC') = '123'
выполняется натуралом, и естественно дико тормозит.
Нет, пересчет selectivity не помогает. Да, база была создана из бэкапа при переходе.
Помогло только пересоздание индекса. Но какого фига?
Что теперь, бегать по базе и руками пересоздавать индексы?
И насколько можно рассчитывать что оно опять не взбрыкнет?
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39181480
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asviridenkov,

что за 2.2? 2.1 что ли?
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39181492
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asviridenkov,

CORE-5118
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39181497
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asviridenkovЧто теперь, бегать по базе и руками пересоздавать индексы?
При восстановлении индексы не (пере)создаются?
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39181516
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladasviridenkov,

CORE-5118А может и нет, там с computed fileds проблема, насколько я понимаю...
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39181520
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadman,

там вообще что-то бешенное...

Код: sql
1.
2.
select a.IDT1, a.NOMT1, a.NOMPRENOMT1 from T1 a order by 3 
 -> return 0 line



то есть индекс видимо таки пересоздаётся (считается active), но в нём ноль записей
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39181529
asviridenkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисasviridenkov,

что за 2.2? 2.1 что ли?

Сорри, имелся в виду 2.5.2
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39181535
asviridenkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadmanasviridenkovЧто теперь, бегать по базе и руками пересоздавать индексы?
При восстановлении индексы не (пере)создаются?

В том то и дело, что и тндексы есть, и статистика по ним есть, а толку ноль.
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39181555
asviridenkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Веселье продолжается, даже после пересоздания индекс то используется то нет. На одном и том же простейшем запросе. От чего зависит - непонятно.
Похоже, придется откатываться обратно на 2.5.2.

Круто, так держать!
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39181596
fb user
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
asviridenkovВеселье продолжается, даже после пересоздания индекс то используется то нет. На одном и том же простейшем запросе. От чего зависит - непонятно.
Как воспроизвести?
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39181597
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asviridenkov,

а воспроизводимый пример и тикет будет?
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39181605
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ariochто есть индекс видимо таки пересоздаётся (считается active), но в нём ноль записейПро gstat знаешь ?

PS Там индекс строится до того, как computed by поле получит свою формулу.
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39181618
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asviridenkov,

Саша, хватит истерить. Дай хоть что-нибудь, чтобы увидеть и решить проблему.
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39181633
asviridenkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fb userasviridenkovВеселье продолжается, даже после пересоздания индекс то используется то нет. На одном и том же простейшем запросе. От чего зависит - непонятно.
Как воспроизвести?

Взять базу с индексом по UDF, сделать бэкап в младшей версии, рестор в 2.5.5 и запрос с условием по индексу
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39181643
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть версия, что УДФ криво прилепилась к 2.5.5
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39181672
asviridenkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящийесть версия, что УДФ криво прилепилась к 2.5.5


Что в данном контексте может означать "криво"?

Понимаю, когда совсем не прилепилась. Но запросы вида select UDF(..) работают.

Кроме того, план то сразу строится по natural, а оптимизатору должно быть до лампочки что там не прилепилось.
Есть индекс - используем.
А ситуация когда запрос на одну таблицу с единственным условием, в точности совпадающим с выражением в индексе, выполняется по натуралу - нонсенс (политкорректно выражаясь).
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39181677
asviridenkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitrasviridenkov,

Саша, хватит истерить. Дай хоть что-нибудь, чтобы увидеть и решить проблему.

Что именно дать? Пятигиговый бэкап?

Я вроде подробно описал, как воспроизвести проблему.
Сейчас попробую на маленькой тестовой базе, но не факт что будет ровно так же.
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39181693
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asviridenkovВзять базу с индексом по UDF, сделать бэкап в младшей версии, рестор в 2.5.5 и запрос с условием по индексу
на стандартной abs() из ib_udf у меня не воспроизводится
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39181695
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asviridenkovЧто именно дать? Пятигиговый бэкап?
почему бы и нет?
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39181705
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar, ты где? У тебя индексов по UDF не было часом? :-)
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39181716
fb user
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мысль посетила, оффтопная:
на http://www.firebirdsql.org/en/firebird-2-5-5/ было бы ожидаемо увидеть список known bugs для 2.5.5. Их сейчас уже не мало.
Может даже ссылкой на трекер.
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39181723
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fb user,

http://tracker.firebirdsql.org/
дальше слева core, no fix version, any, 2.5.5
по умолчанию у меня unresolved выдаются, 20 штук.
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39181740
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asviridenkov,

Код: sql
1.
select * from table where xpath(xml, 'ABC') = '123'



xml наверное BLOB. Может быть какое-то сочетание UDF+BLOB
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39181749
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис,
скорее всего так и есть. По мотивам его статьи на ibase.
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39181751
fb user
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdvfb user,

http://tracker.firebirdsql.org/
дальше слева core, no fix version, any, 2.5.5
по умолчанию у меня unresolved выдаются, 20 штук.
Многим было бы удобно увидеть список багов в один клик со страницы загрузки. Искать в трекере - это всё-таки челлендж для многих.
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39181755
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fb user,

дык он же постоянно пополняться будет. А список багов пополняется как известно через трекер. И почему именно 2.5.5? Тогда уж для всех версий надо делать.
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39181757
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladAriochто есть индекс видимо таки пересоздаётся (считается active), но в нём ноль записейПро gstat знаешь ?

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
    Index YYT1 (0)
        Depth: 1, leaf buckets: 1, nodes: 3
        Average data length: 0.00, total dup: 2, max dup: 2
        Fill distribution:
             0 - 19% = 1
            20 - 39% = 0
            40 - 59% = 0
            60 - 79% = 0
            80 - 99% = 0



hvladPS Там индекс строится до того, как computed by поле получит свою формулу.

Я думаю, ты описался. Не "computed by поле получит свою формулу", а "computed by ИНДЕКС получит свою формулу", поскольку:
1. ключик commit every table в ресторе ничего не меняет
2. индекс напрямую на computed field сделать нельзя, только по выражению совпадающему с computed field

Как я и ожидал, все листья в индексе будут NULL, если поле (точнее, не поле, а индекс) уже есть, а выражения ещё нет.
Но все равно странно, что выдача пустая, три "nodes" есть - так и выдать их из селекта в любом порядке, почему не получается, что там с RDB$KEY в индексе?

Ладно, добавляем в таблицу ещё три строки и делаем
Код: sql
1.
select a.IDT1, a.NOMT1, a.PRENOMT1, a.NOMPRENOMT1 from T1 a order by 4



На выходе - три строчки из шести, свежедобавленные:

IDT1 NOMT1 PRENOMT1 NOMPRENOMT1 (computed)4 NULL NULL NULL5 NULL NULL NULL6 a NULL NULL

Опять же, почему так? Пусть значение в листе NULL, но RDB$KEY-то должен быть... А его нет.

Я бы понял, если бы не показалось ничего - индекс убитый и глобально выносит мозг движку.
Я бы понял, если бы показалась все таблица в случайном порядке - на то и индекс, состоящий только из дупликатов.
А тут - ни рыба, ни мясо...
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39181773
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
select a.IDT1, a.NOMT1, a.PRENOMT1, a.NOMPRENOMT1 from T1 a
plan (a order yyt1)

err: index YYT1 cannot be used in the specified plan.



ы?

-------------

О!!!

Код: sql
1.
2.
3.
4.
5.
6.
7.
select count(*) from (select a.IDT1, a.NOMT1, a.PRENOMT1, a.NOMPRENOMT1 from T1 a order by 4 nulls FIRST )

-- result = 3 - не верно!

select count(*) from (select a.IDT1, a.NOMT1, a.PRENOMT1, a.NOMPRENOMT1 from T1 a order by 4 nulls LAST )

-- куыгде = 6 - верно!
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39181775
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ariochиндекс напрямую на computed field сделать нельзя
можно: computed by (field_name)

Ariochстранно, что выдача пустая, три "nodes" есть - так и выдать их из селекта в любом порядке, почему не получается, что там с RDB$KEY в индексе?
все нормально с DBKEY. Скан не возвращает записи, у которых поля не совпадают с индексным ключом. Т.е. если ключ ABC ссылается на запись 123, в которой индексное поле не равно ABC, то такая запись не возвращается.
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39181777
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arioch
Код: sql
1.
2.
3.
4.
select a.IDT1, a.NOMT1, a.PRENOMT1, a.NOMPRENOMT1 from T1 a
plan (a order yyt1)

err: index YYT1 cannot be used in the specified plan.



ы?


правильно он тебе пишет кляуз order by и group by в твоём запросе нет.
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39181779
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис,

Код: sql
1.
2.
3.
4.
5.
6.
select a.IDT1, a.NOMT1, a.PRENOMT1, a.NOMPRENOMT1, null from T1 a
order by 5
plan (a index (yyt1))

err: Token unknown - line 3, column 1.
plan.
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39181782
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arioch,

иди доку читай, писатель
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39181785
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Also

Код: sql
1.
2.
3.
4.
5.
6.
select a.IDT1, a.NOMT1, a.PRENOMT1, a.NOMPRENOMT1 from T1 a
order by a.NOMPRENOMT1
plan (a order yyt1)

err: Token unknown - line 3, column 1.
plan.



PS. у меня тут нет пароля от трекера, но м.б. кто-подкинет ссылк на это обсуждение в http://tracker.firebirdsql.org/browse/CORE-5118

IMHO разница nulls first/last и разница индекс ли или поле по выражению не успевает восстановиться - могут бюыть важными деталями
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39181786
asviridenkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitrasviridenkovЧто именно дать? Пятигиговый бэкап?
почему бы и нет?

На какой email тебе можно написать? Тот что профиле @users.sourceforge.net?
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39181787
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitrможно: computed by (field_name)

именно на это я Владу и указал

так что речь идет все же не про поле-по-выражению, а про индекс-по-выражению

dimitrcкан не возвращает записи, у которых поля не совпадают с индексным ключом.

...а ворнинг в лог написать? ведь явно ненормальная ситуация!
...а почему в режиме nulls last возвращает и не морщится ?
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39181792
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitrArioch,

иди доку читай, писатель

её и читаю - http://www.firebirdsql.org/refdocs/langrefupd25-select.html#langrefupd25-select-plan

по определению синтаксиса в доке все нормально

а главный док-райтер выше предлагает заведомо нерабочие варианты (добаит ьorder by, как будто я не пробовал)- он тоже что ли доку не читал?
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39181794
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ariochведь явно ненормальная ситуация!
Нормальная. Индексная нода может принадлежать старым версиям записи.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39181797
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

Согласен. Тогда может быть стоит ввести bugcheck на то, что версии совпадают, но значения не совпадают ?

И - всё равно фигня с nulls last
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39181800
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arioch,

а пардон, фигню написал, вспомнил, что версии в ключе ВООБЩЕ не проставляются
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39181831
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ariochречь идет все же не про поле-по-выражению, а про индекс-по-выражению
индекс-по-выражению-по-полю-по-выражению, если быть точным

Ariochа почему в режиме nulls last возвращает и не морщится ?
потому что плана ORDER там в помине нет
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39181835
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ariochеё и читаю
читай синтаксис селекта, а не PLAN-кляузы
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39181836
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asviridenkov,

можно туда, можно на firebird2-гав-яндекс-ру
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39181849
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AriochЯ думаю, ты описался.Мне сухо и почти комфортно, так что - нет, не описался :)
AriochНе "computed by поле получит свою формулу", аИндекс\движок не видит эту формулу - так точнее.
Arioch"computed by ИНДЕКС получит свою формулу"Долго смеялся, не надо так больше
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39181851
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitrзаписи, у которых поля не совпадают с индексным ключом

да, поля с "честным" null'ом после b&r всё равно видны

dimitrиндекс-по-выражению-по-полю-по-выражению, если быть точным

но первично всё же выражение в индексе,а не в поле
так что первый импульс Влада связать случай udf с core 5118 правильный ,видимо

Код: 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.
gbak:restoring table T1 
gbak:    restoring column IDT1 
gbak:    restoring column NOMT1 
gbak:    restoring column PRENOMT1 
gbak:    restoring column NOMPRENOMT1 
 gbak:committing metadata for table T1  
gbak:restoring table T2 
gbak:    restoring column IDT2 
 gbak:committing metadata for table T2 
gbak:    committing metadata  
gbak:restoring data for table T2 
gbak:committing data for table T2 
gbak:   1 records restored 
 gbak:    restoring index YYT1  
gbak:    restoring index YYT1N 
gbak:restoring data for table T1 
gbak:committing data for table T1 
gbak:   6 records restored 
gbak:    restoring privilege for user SYSDBA 
       .......
gbak:creating indexes 
gbak:    activating and creating deferred index YYT1 
gbak:    activating and creating deferred index YYT1N 
gbak:    committing metadata 

То есть на момент создания метаданные для таблиц - насколько можно верить логу - уже были созданы

...если конечно выражение столбца не перестало быть метаданными таблицы. Но тогда что делает restore c флагом commit-every-table, столбцы COMPUTED BY (NULL) ?
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39181857
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladArioch"computed by ИНДЕКС получит свою формулу"Долго смеялся, не надо так больше

Это смешнее, чем [quote hvlad]computed by поле получит свою формулу[/quote ] ? Ну на здоровье тогда
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39181884
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arioch,

1. План order может быть только если на поле есть индекс и по нему идёт сортировка (группировка у нас с помощью сортировки делается)
2. План с использованием index может быть только если присутствует where в в котором используется выражение/поле на котором построен этот индекс.

У тебя ни одного из этих условий не соблюдено. Поэтому план ты пишешь от балды.
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39181885
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис2. План с использованием index может быть только если присутствует where в в котором используется выражение/поле на котором построен этот индекс.
или в условии соединения JOIN
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39181956
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CORE-5122 , спасибо за тестовый пример
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39181993
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Оперативненько. :)
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39182002
asviridenkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, Диме большое спасибо за быстрое решение.
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39182007
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asviridenkov,

конечно спасибо
" index is created in connection charset X but used in connections with charset other than X "
додуматься же надо.
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39182017
asviridenkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvasviridenkov,

конечно спасибо
" index is created in connection charset X but used in connections with charset other than X "
додуматься же надо.

А что тебя смущает?
С каких пор работа оптимизатора зависит от клиентской кодировки?
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39182020
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv> додуматься же надо

И что?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39182081
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv,

ты просто привык к типовому "один чарсет на всех", но это никогда не было ни требованием, ни даже рекомендацией. Клиентские чарсеты для того и нужны, чтобы каждый юзал тот, что удобнее лично ему.
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39182618
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и как тогда ?

вот есть N индексов с M литералами в каждом, созданные в чарсетax X[1]...X[N]

пришел запрос с M литералами в чарсете Y

получается, нужно выбрать наилучший индекс, в котором все литералы запроса переводятся без потерь Y->X[i] ? И потом запрос тоже перевести к этому чарсету ?

Иначе как индекс использовать, если "в байтах" одни и те же литералы по-разному будут
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39182628
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arioch,

успокойся, поправили уже
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39182631
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис,

так интересно же
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39182636
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AriochИ потом запрос тоже перевести к этому чарсету ?
15 лет назад я предлагал выкинуть чарсеты из движка на клиента, а внутри оставить только
unicode. Но всем тогда было жалко ОЗУ.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39182645
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

не согласен. А как же тогда специализированные чарсеты типа OCTETS. Да и увеличение места под строковые поля в 4 раза (для однобайтовых чарсетов) совсем не мало с точки зрения IO.

А вот метаданные да, тут согласен. Впрочем сейчас только исключения не хранятся как UNICODE.
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39182656
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисА как же тогда специализированные чарсеты типа OCTETS.
Множественного числа не надо. Он один. И давно напрашивается на свой собственный тип
BINARY/VARBINARY.

Симонов ДенисДа и увеличение места под строковые поля в 4 раза (для однобайтовых
чарсетов) совсем не мало с точки зрения IO.
Откуда 4? Подавляющее большинство символов укладываются в два байта. И дополнение при
хранении до объявленной длины - давно себя исчерпавшая идея. Собственно, она никогда и не
работала после внедрения сжатия.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39182663
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asviridenkov,

ок, перегнул.
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39182742
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov15 лет назад

...тогда и юникод был другой

один чёрт в итоге получилось бы несколько чарсетов, правда все юникодные.

хотя, конечно, на порядок меньше чем сейчас

вторая проблема - это поддержка старых ODS
вот в тройке теоретически можно чарсеты сбрость в модуль backup/restore и там похоронить.
Но FB/Yaffil - которые работали с ODS 9 - как ты в них порежешь чарсеты, котoрые реально испoльзуются на годами работающих базах?
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39182754
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AriochНо FB/Yaffil - которые работали с ODS 9 - как ты в них порежешь чарсеты,
котoрые реально испoльзуются на годами работающих базах?
А кто это старьё сейчас вообще будет править-то?.. А так в принципе это не так уж и сложно
разделить чарсет хранения, чарсет обработки и чарсет API.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39182789
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov15 лет назад я предлагал выкинуть чарсеты из движка на клиента, а внутри оставить только
unicode. Но всем тогда было жалко ОЗУ.
про ОЗУ 15 лет назад не скажу, а сейчас основных проблем вижу две:

- тащить INTL на клиента и требовать его привязку к ICU
- все не-ASCII строки станут как минимум в два раза длиннее

Второе лично мне более важно, чем первое.
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39182791
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakovдавно напрашивается на свой собственный тип BINARY/VARBINARY
редкий случай, когда хочется тебе плюсануть :-)
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39182816
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitrсейчас основных проблем вижу две:

- тащить INTL на клиента и требовать его привязку к ICU
- все не-ASCII строки станут как минимум в два раза длиннее
INTL и ICU тащить не надо. Всё, что нужно на клиенте, это преобразование UTF-8 в
текущую/заданную локаль и обратно. С этим справится и сама OS. ICU нужно для
преобразований регистра, коллейтов и прочего в этом роде, что остаётся на сервере.

А если наглеть по максимуму, то можно взять пример с SQLite, где API - чистый UTF-8 и
никак иначе.

dimitrВторое лично мне более важно, чем первое.
Из trade-off CPU<->RAM ты выбираешь CPU, это понятно. Проблема в том, что постоянные
преобразования, которые сейчас творятся в движке, и ОЗУ пожирают как не в себя.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39182829
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitrредкий случай, когда хочется тебе плюсануть :-)

1. а кто мешает, boolean же ввели?
2. чем это должно отличаться от BLOB ? для небольших битовых полей и Int32 хватает и даже Int16
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39182832
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovИз trade-off CPU<->RAM

Тут ещё два фактора на самом деле

HDD bandwidth и network bandwidth

к вопросу о "где лучше преобразовывать" - если преобрaзования вытащить на клиента, то распухнет сетевой протокол, например
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39182835
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ariochдля небольших битовых полей и Int32 хватает и даже Int16
А для UUID - уже не хватает.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39182837
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

ну допустим

можно ещё разные SHA256 хранить

а зачем VARbinary, за компанию ?
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39182842
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AriochТут ещё два фактора на самом деле

HDD bandwidth и network bandwidth
Первое решается аппаратно. Второе не играет заметной роли: всё решает латентность.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39182852
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

> Первое решается аппаратно

так вообще всё решается, включая объём ОЗУ и скорость процессора

> всё решает латентность.

1. при условии, что сервер заткнулся по HDD или занялся пейджингом виртуальной памяти.

2. размер пакетов конечен, пакеты нужно подтверждать как приём в рамках TCP, так и выполнение в рамках FB.
Так что объём данных пропорционален количеству roundtrip'ов
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39182882
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arioch2. размер пакетов конечен, пакеты нужно подтверждать как приём в рамках TCPTCP вполне себе может подтвердить приём целой пачки при отправке очередного пакета.
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39183210
Фотография Tonal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AriochDimitry Sibiryakov,
2. размер пакетов конечен, пакеты нужно подтверждать как приём в рамках TCP, так и выполнение в рамках FB.
Добавить сжатие в протокол?

--оффтоп
Ой, ща канделябры полетят...
--оффтоп
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39183217
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tonal,

в тройке сжатие уже есть, но по умолчанию оно выключено
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39183608
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tonal,

сжатие наложенное поверх "распухших" будет скорее всего не так эффективно, как сжатие изначально "лаконичных" данных

хотя разница может быть очень небольшая
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39183646
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ariochсжатие наложенное поверх "распухших" будет скорее всего не так эффективно,
как сжатие изначально "лаконичных" данных
Совершенно пофиг. Распределение и периодичность данных не меняются при преобразованиях
кодировок.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FB 2.5.5 игнорирует индекс по UDF
    #39183725
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

как минимум исходные данные разной пухлости записываются в LZ-словарь
...
Рейтинг: 0 / 0
78 сообщений из 78, показаны все 4 страниц
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / FB 2.5.5 игнорирует индекс по UDF
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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