|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
Обновился с 2.2 до 2.5 и тут же огреб по полной, все стало дико тормозить. Выяснилось, что индексы по выражению просто игнорируются. Например, есть индекс с выражением xpath(xml, 'ABC') При этом запрос вида select * from table where xpath(xml, 'ABC') = '123' выполняется натуралом, и естественно дико тормозит. Нет, пересчет selectivity не помогает. Да, база была создана из бэкапа при переходе. Помогло только пересоздание индекса. Но какого фига? Что теперь, бегать по базе и руками пересоздавать индексы? И насколько можно рассчитывать что оно опять не взбрыкнет? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.02.2016, 14:41 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
asviridenkov, что за 2.2? 2.1 что ли? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.02.2016, 14:54 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
asviridenkov, CORE-5118 ... |
|||
:
Нравится:
Не нравится:
|
|||
29.02.2016, 15:04 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
asviridenkovЧто теперь, бегать по базе и руками пересоздавать индексы? При восстановлении индексы не (пере)создаются? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.02.2016, 15:09 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
hvladasviridenkov, CORE-5118А может и нет, там с computed fileds проблема, насколько я понимаю... ... |
|||
:
Нравится:
Не нравится:
|
|||
29.02.2016, 15:25 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
wadman, там вообще что-то бешенное... Код: sql 1. 2.
то есть индекс видимо таки пересоздаётся (считается active), но в нём ноль записей ... |
|||
:
Нравится:
Не нравится:
|
|||
29.02.2016, 15:27 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
Симонов Денисasviridenkov, что за 2.2? 2.1 что ли? Сорри, имелся в виду 2.5.2 ... |
|||
:
Нравится:
Не нравится:
|
|||
29.02.2016, 15:31 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
wadmanasviridenkovЧто теперь, бегать по базе и руками пересоздавать индексы? При восстановлении индексы не (пере)создаются? В том то и дело, что и тндексы есть, и статистика по ним есть, а толку ноль. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.02.2016, 15:33 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
Веселье продолжается, даже после пересоздания индекс то используется то нет. На одном и том же простейшем запросе. От чего зависит - непонятно. Похоже, придется откатываться обратно на 2.5.2. Круто, так держать! ... |
|||
:
Нравится:
Не нравится:
|
|||
29.02.2016, 15:47 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
asviridenkovВеселье продолжается, даже после пересоздания индекс то используется то нет. На одном и том же простейшем запросе. От чего зависит - непонятно. Как воспроизвести? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.02.2016, 16:01 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
asviridenkov, а воспроизводимый пример и тикет будет? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.02.2016, 16:01 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
Ariochто есть индекс видимо таки пересоздаётся (считается active), но в нём ноль записейПро gstat знаешь ? PS Там индекс строится до того, как computed by поле получит свою формулу. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.02.2016, 16:07 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
asviridenkov, Саша, хватит истерить. Дай хоть что-нибудь, чтобы увидеть и решить проблему. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.02.2016, 16:15 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
fb userasviridenkovВеселье продолжается, даже после пересоздания индекс то используется то нет. На одном и том же простейшем запросе. От чего зависит - непонятно. Как воспроизвести? Взять базу с индексом по UDF, сделать бэкап в младшей версии, рестор в 2.5.5 и запрос с условием по индексу ... |
|||
:
Нравится:
Не нравится:
|
|||
29.02.2016, 16:24 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
есть версия, что УДФ криво прилепилась к 2.5.5 Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
29.02.2016, 16:31 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
Мимопроходящийесть версия, что УДФ криво прилепилась к 2.5.5 Что в данном контексте может означать "криво"? Понимаю, когда совсем не прилепилась. Но запросы вида select UDF(..) работают. Кроме того, план то сразу строится по natural, а оптимизатору должно быть до лампочки что там не прилепилось. Есть индекс - используем. А ситуация когда запрос на одну таблицу с единственным условием, в точности совпадающим с выражением в индексе, выполняется по натуралу - нонсенс (политкорректно выражаясь). ... |
|||
:
Нравится:
Не нравится:
|
|||
29.02.2016, 16:46 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
dimitrasviridenkov, Саша, хватит истерить. Дай хоть что-нибудь, чтобы увидеть и решить проблему. Что именно дать? Пятигиговый бэкап? Я вроде подробно описал, как воспроизвести проблему. Сейчас попробую на маленькой тестовой базе, но не факт что будет ровно так же. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.02.2016, 16:49 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
asviridenkovВзять базу с индексом по UDF, сделать бэкап в младшей версии, рестор в 2.5.5 и запрос с условием по индексу на стандартной abs() из ib_udf у меня не воспроизводится ... |
|||
:
Нравится:
Не нравится:
|
|||
29.02.2016, 17:01 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
asviridenkovЧто именно дать? Пятигиговый бэкап? почему бы и нет? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.02.2016, 17:02 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
Gallemar, ты где? У тебя индексов по UDF не было часом? :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.02.2016, 17:10 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
Мысль посетила, оффтопная: на http://www.firebirdsql.org/en/firebird-2-5-5/ было бы ожидаемо увидеть список known bugs для 2.5.5. Их сейчас уже не мало. Может даже ссылкой на трекер. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.02.2016, 17:20 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
fb user, http://tracker.firebirdsql.org/ дальше слева core, no fix version, any, 2.5.5 по умолчанию у меня unresolved выдаются, 20 штук. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.02.2016, 17:25 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
asviridenkov, Код: sql 1.
xml наверное BLOB. Может быть какое-то сочетание UDF+BLOB ... |
|||
:
Нравится:
Не нравится:
|
|||
29.02.2016, 17:46 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
Симонов Денис, скорее всего так и есть. По мотивам его статьи на ibase. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.02.2016, 17:57 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
kdvfb user, http://tracker.firebirdsql.org/ дальше слева core, no fix version, any, 2.5.5 по умолчанию у меня unresolved выдаются, 20 штук. Многим было бы удобно увидеть список багов в один клик со страницы загрузки. Искать в трекере - это всё-таки челлендж для многих. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.02.2016, 17:58 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
fb user, дык он же постоянно пополняться будет. А список багов пополняется как известно через трекер. И почему именно 2.5.5? Тогда уж для всех версий надо делать. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.02.2016, 18:04 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
hvladAriochто есть индекс видимо таки пересоздаётся (считается active), но в нём ноль записейПро gstat знаешь ? Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9.
hvladPS Там индекс строится до того, как computed by поле получит свою формулу. Я думаю, ты описался. Не "computed by поле получит свою формулу", а "computed by ИНДЕКС получит свою формулу", поскольку: 1. ключик commit every table в ресторе ничего не меняет 2. индекс напрямую на computed field сделать нельзя, только по выражению совпадающему с computed field Как я и ожидал, все листья в индексе будут NULL, если поле (точнее, не поле, а индекс) уже есть, а выражения ещё нет. Но все равно странно, что выдача пустая, три "nodes" есть - так и выдать их из селекта в любом порядке, почему не получается, что там с RDB$KEY в индексе? Ладно, добавляем в таблицу ещё три строки и делаем Код: sql 1.
На выходе - три строчки из шести, свежедобавленные: IDT1 NOMT1 PRENOMT1 NOMPRENOMT1 (computed)4 NULL NULL NULL5 NULL NULL NULL6 a NULL NULL Опять же, почему так? Пусть значение в листе NULL, но RDB$KEY-то должен быть... А его нет. Я бы понял, если бы не показалось ничего - индекс убитый и глобально выносит мозг движку. Я бы понял, если бы показалась все таблица в случайном порядке - на то и индекс, состоящий только из дупликатов. А тут - ни рыба, ни мясо... ... |
|||
:
Нравится:
Не нравится:
|
|||
29.02.2016, 18:04 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
Код: sql 1. 2. 3. 4.
ы? ------------- О!!! Код: sql 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.02.2016, 18:22 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
Ariochиндекс напрямую на computed field сделать нельзя можно: computed by (field_name) Ariochстранно, что выдача пустая, три "nodes" есть - так и выдать их из селекта в любом порядке, почему не получается, что там с RDB$KEY в индексе? все нормально с DBKEY. Скан не возвращает записи, у которых поля не совпадают с индексным ключом. Т.е. если ключ ABC ссылается на запись 123, в которой индексное поле не равно ABC, то такая запись не возвращается. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.02.2016, 18:24 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
Arioch Код: sql 1. 2. 3. 4.
ы? правильно он тебе пишет кляуз order by и group by в твоём запросе нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.02.2016, 18:25 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
Симонов Денис, Код: sql 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.02.2016, 18:26 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
Arioch, иди доку читай, писатель ... |
|||
:
Нравится:
Не нравится:
|
|||
29.02.2016, 18:27 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
Also Код: sql 1. 2. 3. 4. 5. 6.
PS. у меня тут нет пароля от трекера, но м.б. кто-подкинет ссылк на это обсуждение в http://tracker.firebirdsql.org/browse/CORE-5118 IMHO разница nulls first/last и разница индекс ли или поле по выражению не успевает восстановиться - могут бюыть важными деталями ... |
|||
:
Нравится:
Не нравится:
|
|||
29.02.2016, 18:28 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
dimitrasviridenkovЧто именно дать? Пятигиговый бэкап? почему бы и нет? На какой email тебе можно написать? Тот что профиле @users.sourceforge.net? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.02.2016, 18:30 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
dimitrможно: computed by (field_name) именно на это я Владу и указал так что речь идет все же не про поле-по-выражению, а про индекс-по-выражению dimitrcкан не возвращает записи, у которых поля не совпадают с индексным ключом. ...а ворнинг в лог написать? ведь явно ненормальная ситуация! ...а почему в режиме nulls last возвращает и не морщится ? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.02.2016, 18:31 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
dimitrArioch, иди доку читай, писатель её и читаю - http://www.firebirdsql.org/refdocs/langrefupd25-select.html#langrefupd25-select-plan по определению синтаксиса в доке все нормально а главный док-райтер выше предлагает заведомо нерабочие варианты (добаит ьorder by, как будто я не пробовал)- он тоже что ли доку не читал? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.02.2016, 18:35 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
Ariochведь явно ненормальная ситуация! Нормальная. Индексная нода может принадлежать старым версиям записи. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
29.02.2016, 18:36 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, Согласен. Тогда может быть стоит ввести bugcheck на то, что версии совпадают, но значения не совпадают ? И - всё равно фигня с nulls last ... |
|||
:
Нравится:
Не нравится:
|
|||
29.02.2016, 18:39 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
Arioch, а пардон, фигню написал, вспомнил, что версии в ключе ВООБЩЕ не проставляются ... |
|||
:
Нравится:
Не нравится:
|
|||
29.02.2016, 18:41 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
Ariochречь идет все же не про поле-по-выражению, а про индекс-по-выражению индекс-по-выражению-по-полю-по-выражению, если быть точным Ariochа почему в режиме nulls last возвращает и не морщится ? потому что плана ORDER там в помине нет ... |
|||
:
Нравится:
Не нравится:
|
|||
29.02.2016, 18:56 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
Ariochеё и читаю читай синтаксис селекта, а не PLAN-кляузы ... |
|||
:
Нравится:
Не нравится:
|
|||
29.02.2016, 18:57 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
asviridenkov, можно туда, можно на firebird2-гав-яндекс-ру ... |
|||
:
Нравится:
Не нравится:
|
|||
29.02.2016, 18:58 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
AriochЯ думаю, ты описался.Мне сухо и почти комфортно, так что - нет, не описался :) AriochНе "computed by поле получит свою формулу", аИндекс\движок не видит эту формулу - так точнее. Arioch"computed by ИНДЕКС получит свою формулу"Долго смеялся, не надо так больше ... |
|||
:
Нравится:
Не нравится:
|
|||
29.02.2016, 19:07 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
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.
То есть на момент создания метаданные для таблиц - насколько можно верить логу - уже были созданы ...если конечно выражение столбца не перестало быть метаданными таблицы. Но тогда что делает restore c флагом commit-every-table, столбцы COMPUTED BY (NULL) ? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.02.2016, 19:09 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
hvladArioch"computed by ИНДЕКС получит свою формулу"Долго смеялся, не надо так больше Это смешнее, чем [quote hvlad]computed by поле получит свою формулу[/quote ] ? Ну на здоровье тогда ... |
|||
:
Нравится:
Не нравится:
|
|||
29.02.2016, 19:16 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
Arioch, 1. План order может быть только если на поле есть индекс и по нему идёт сортировка (группировка у нас с помощью сортировки делается) 2. План с использованием index может быть только если присутствует where в в котором используется выражение/поле на котором построен этот индекс. У тебя ни одного из этих условий не соблюдено. Поэтому план ты пишешь от балды. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.02.2016, 20:16 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
Симонов Денис2. План с использованием index может быть только если присутствует where в в котором используется выражение/поле на котором построен этот индекс. или в условии соединения JOIN ... |
|||
:
Нравится:
Не нравится:
|
|||
29.02.2016, 20:18 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
CORE-5122 , спасибо за тестовый пример ... |
|||
:
Нравится:
Не нравится:
|
|||
29.02.2016, 22:15 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
Оперативненько. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.02.2016, 23:37 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
Да, Диме большое спасибо за быстрое решение. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.02.2016, 23:56 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
asviridenkov, конечно спасибо " index is created in connection charset X but used in connections with charset other than X " додуматься же надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2016, 00:47 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
kdvasviridenkov, конечно спасибо " index is created in connection charset X but used in connections with charset other than X " додуматься же надо. А что тебя смущает? С каких пор работа оптимизатора зависит от клиентской кодировки? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2016, 01:30 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
kdv> додуматься же надо И что? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2016, 01:43 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
kdv, ты просто привык к типовому "один чарсет на всех", но это никогда не было ни требованием, ни даже рекомендацией. Клиентские чарсеты для того и нужны, чтобы каждый юзал тот, что удобнее лично ему. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2016, 08:56 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
и как тогда ? вот есть N индексов с M литералами в каждом, созданные в чарсетax X[1]...X[N] пришел запрос с M литералами в чарсете Y получается, нужно выбрать наилучший индекс, в котором все литералы запроса переводятся без потерь Y->X[i] ? И потом запрос тоже перевести к этому чарсету ? Иначе как индекс использовать, если "в байтах" одни и те же литералы по-разному будут ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2016, 14:49 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
Arioch, успокойся, поправили уже ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2016, 14:56 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
Симонов Денис, так интересно же ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2016, 14:57 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
AriochИ потом запрос тоже перевести к этому чарсету ? 15 лет назад я предлагал выкинуть чарсеты из движка на клиента, а внутри оставить только unicode. Но всем тогда было жалко ОЗУ. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2016, 15:01 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, не согласен. А как же тогда специализированные чарсеты типа OCTETS. Да и увеличение места под строковые поля в 4 раза (для однобайтовых чарсетов) совсем не мало с точки зрения IO. А вот метаданные да, тут согласен. Впрочем сейчас только исключения не хранятся как UNICODE. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2016, 15:08 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
Симонов ДенисА как же тогда специализированные чарсеты типа OCTETS. Множественного числа не надо. Он один. И давно напрашивается на свой собственный тип BINARY/VARBINARY. Симонов ДенисДа и увеличение места под строковые поля в 4 раза (для однобайтовых чарсетов) совсем не мало с точки зрения IO. Откуда 4? Подавляющее большинство символов укладываются в два байта. И дополнение при хранении до объявленной длины - давно себя исчерпавшая идея. Собственно, она никогда и не работала после внедрения сжатия. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2016, 15:17 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
asviridenkov, ок, перегнул. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2016, 15:22 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov15 лет назад ...тогда и юникод был другой один чёрт в итоге получилось бы несколько чарсетов, правда все юникодные. хотя, конечно, на порядок меньше чем сейчас вторая проблема - это поддержка старых ODS вот в тройке теоретически можно чарсеты сбрость в модуль backup/restore и там похоронить. Но FB/Yaffil - которые работали с ODS 9 - как ты в них порежешь чарсеты, котoрые реально испoльзуются на годами работающих базах? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2016, 16:05 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
AriochНо FB/Yaffil - которые работали с ODS 9 - как ты в них порежешь чарсеты, котoрые реально испoльзуются на годами работающих базах? А кто это старьё сейчас вообще будет править-то?.. А так в принципе это не так уж и сложно разделить чарсет хранения, чарсет обработки и чарсет API. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2016, 16:15 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov15 лет назад я предлагал выкинуть чарсеты из движка на клиента, а внутри оставить только unicode. Но всем тогда было жалко ОЗУ. про ОЗУ 15 лет назад не скажу, а сейчас основных проблем вижу две: - тащить INTL на клиента и требовать его привязку к ICU - все не-ASCII строки станут как минимум в два раза длиннее Второе лично мне более важно, чем первое. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2016, 16:49 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakovдавно напрашивается на свой собственный тип BINARY/VARBINARY редкий случай, когда хочется тебе плюсануть :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2016, 16:50 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
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 ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2016, 17:06 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
dimitrредкий случай, когда хочется тебе плюсануть :-) 1. а кто мешает, boolean же ввели? 2. чем это должно отличаться от BLOB ? для небольших битовых полей и Int32 хватает и даже Int16 ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2016, 17:12 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovИз trade-off CPU<->RAM Тут ещё два фактора на самом деле HDD bandwidth и network bandwidth к вопросу о "где лучше преобразовывать" - если преобрaзования вытащить на клиента, то распухнет сетевой протокол, например ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2016, 17:14 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
Ariochдля небольших битовых полей и Int32 хватает и даже Int16 А для UUID - уже не хватает. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2016, 17:16 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, ну допустим можно ещё разные SHA256 хранить а зачем VARbinary, за компанию ? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2016, 17:17 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
AriochТут ещё два фактора на самом деле HDD bandwidth и network bandwidth Первое решается аппаратно. Второе не играет заметной роли: всё решает латентность. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2016, 17:20 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, > Первое решается аппаратно так вообще всё решается, включая объём ОЗУ и скорость процессора > всё решает латентность. 1. при условии, что сервер заткнулся по HDD или занялся пейджингом виртуальной памяти. 2. размер пакетов конечен, пакеты нужно подтверждать как приём в рамках TCP, так и выполнение в рамках FB. Так что объём данных пропорционален количеству roundtrip'ов ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2016, 17:27 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
Arioch2. размер пакетов конечен, пакеты нужно подтверждать как приём в рамках TCPTCP вполне себе может подтвердить приём целой пачки при отправке очередного пакета. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2016, 17:44 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
AriochDimitry Sibiryakov, 2. размер пакетов конечен, пакеты нужно подтверждать как приём в рамках TCP, так и выполнение в рамках FB. Добавить сжатие в протокол? --оффтоп Ой, ща канделябры полетят... --оффтоп ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2016, 08:11 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
Tonal, в тройке сжатие уже есть, но по умолчанию оно выключено ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2016, 08:31 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
Tonal, сжатие наложенное поверх "распухших" будет скорее всего не так эффективно, как сжатие изначально "лаконичных" данных хотя разница может быть очень небольшая ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2016, 12:54 |
|
FB 2.5.5 игнорирует индекс по UDF
|
|||
---|---|---|---|
#18+
Ariochсжатие наложенное поверх "распухших" будет скорее всего не так эффективно, как сжатие изначально "лаконичных" данных Совершенно пофиг. Распределение и периодичность данных не меняются при преобразованиях кодировок. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2016, 13:13 |
|
|
start [/forum/topic.php?all=1&fid=40&tid=1562318]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
53ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
86ms |
get tp. blocked users: |
1ms |
others: | 280ms |
total: | 468ms |
0 / 0 |