|
Растолкуйте про ошибку на составной ключ с utf8(unicode_ci_ai)
|
|||
---|---|---|---|
#18+
При создании таблицы "range" получаю ошибку: This operation is not defined for system tables. unsuccessful metadata update. key size exceeds implementation restriction for index "nrj_range__uq". why? Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
P.S. Создание таблицы "rr" опущено, т.к. в ней нет ничего интересного. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2016, 13:44 |
|
Растолкуйте про ошибку на составной ключ с utf8(unicode_ci_ai)
|
|||
---|---|---|---|
#18+
rdb_dev, версия FB? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2016, 14:03 |
|
Растолкуйте про ошибку на составной ключ с utf8(unicode_ci_ai)
|
|||
---|---|---|---|
#18+
Симонов Денис, сори, забыл... Версия сервера: 2.5.6 (WI-V6.3.6.26980 Firebird 2.5) Версия клиента: 2.5.6.27008 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2016, 14:09 |
|
Растолкуйте про ошибку на составной ключ с utf8(unicode_ci_ai)
|
|||
---|---|---|---|
#18+
rdb_dev, что-то ты не договариваешь. Не вижу в твоих метаданных nrj_range__uq ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2016, 14:13 |
|
Растолкуйте про ошибку на составной ключ с utf8(unicode_ci_ai)
|
|||
---|---|---|---|
#18+
Симонов Денис, это "range__uq", в названии которого я забыл удалить лишние символы. Суть от этого не меняется. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2016, 14:19 |
|
Растолкуйте про ошибку на составной ключ с utf8(unicode_ci_ai)
|
|||
---|---|---|---|
#18+
rdb_dev, с коллейтом UNICODE_CI_AI 1 символ может занимать до 6 байт. В принципе расчёт показывает что вмещаться в лимит должно, но на всякий случай попробуй увеличить размер страницы до 8192. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2016, 14:22 |
|
Растолкуйте про ошибку на составной ключ с utf8(unicode_ci_ai)
|
|||
---|---|---|---|
#18+
rdb_devСимонов Денис, это "range__uq", в названии которого я забыл удалить лишние символы... Где там пробелы, я - не увидел. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2016, 14:23 |
|
Растолкуйте про ошибку на составной ключ с utf8(unicode_ci_ai)
|
|||
---|---|---|---|
#18+
Симонов Денис, с размером страницы экспериментировать не стал. У нас есть очень консервативные люди, которые подобное ограничение не поймут, а тратить силы, нервы и время на объяснения я не готов. Убрал вообще ключевое слово COLLATE, чтоб он был по умолчанию и тоже возникли кое-какие странности. При VARCHAR(240) возникает та же ошибка, хотя 1024 / 4 = 256, а при VARCHAR(200) сервер проглотил и сказал, что всё Ok. Может дело в хитром алгоритме индексирования составных индексов, содержащих символы? Что-нибудь типа: Код: plsql 1.
? ИМХО, такое предположение хоть как-то объясняет нехватку размера индекса при PAGESIZE: 4096 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2016, 15:09 |
|
Растолкуйте про ошибку на составной ключ с utf8(unicode_ci_ai)
|
|||
---|---|---|---|
#18+
поправочка Код: plsql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2016, 15:21 |
|
Растолкуйте про ошибку на составной ключ с utf8(unicode_ci_ai)
|
|||
---|---|---|---|
#18+
rdb_dev, http://ibase.ru/files/firebird/langref25rus/index.html#langref25-ddl-index-create смотри табличку "Длина индексируемой строки и набор символов" В PDF версии она тоже есть. И таки для составных индексов там что-то ещё учитывается. Может выравнивание. А страницу зря не хочешь увеличить. Для БД в UTF-8 такой размер страницы слишком маленький. Не на количестве символов, так на глубине индексов на грабли наступишь. P.S. В 3.0 по умолчанию страница уже 8192. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2016, 15:52 |
|
Растолкуйте про ошибку на составной ключ с utf8(unicode_ci_ai)
|
|||
---|---|---|---|
#18+
Симонов Денис, спасибо, учту. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2016, 15:57 |
|
Растолкуйте про ошибку на составной ключ с utf8(unicode_ci_ai)
|
|||
---|---|---|---|
#18+
rdb_devс размером страницы экспериментировать не стал. У нас есть очень консервативные люди современная БД с размером страницы меньше 8к это ад, трэш, угар и тормоза. ФБ начиная с 2.0 (или может даже с 1.5) при restore автоматом поднимет размер страницы с 1к или 2к до 4к, и меньше 4к делать не будет. Но страница 4к - медленнее, чем 8к. Нынче 8к или 16к - оптимум. Со страницей 32к тесты будут, опубликуем. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2016, 16:47 |
|
Растолкуйте про ошибку на составной ключ с utf8(unicode_ci_ai)
|
|||
---|---|---|---|
#18+
Вопрос-то не в этом, а том почему ключ получается такой большой. Может, баг где-то в расчёте длины, а может ещё где... Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2016, 16:49 |
|
Растолкуйте про ошибку на составной ключ с utf8(unicode_ci_ai)
|
|||
---|---|---|---|
#18+
rdb_devRight('000000' хрен знает, во что это превращается. И еще раз - страница в 1024 байт, это просто ахтунг нынче. никакой консерватизм это не оправдывает. Мы когда такие базы чиним, делаем б-р с увеличением размера страницы до 4-8к. И потом клиенты сразу говорят - ой, оно еще и быстрее работать стало! ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2016, 18:13 |
|
Растолкуйте про ошибку на составной ключ с utf8(unicode_ci_ai)
|
|||
---|---|---|---|
#18+
kdvИ еще раз - страница в 1024 байт У него 4096. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2016, 18:39 |
|
Растолкуйте про ошибку на составной ключ с utf8(unicode_ci_ai)
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, да, но он же пишет "При VARCHAR(240) возникает та же ошибка, хотя 1024 / 4 = 256, а при VARCHAR(200) сервер проглотил и сказал, что всё Ok" в общем, х.з. p.s. а вот что самое ужасное, это вот это Код: sql 1.
ну вырви-глаз просто. Я бы за это применял инструменты по месту . ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2016, 18:51 |
|
Растолкуйте про ошибку на составной ключ с utf8(unicode_ci_ai)
|
|||
---|---|---|---|
#18+
kdvон же пишет 4096 / 4 = 1024 - размер ключа. 1024 / 4 = 256 - размер utf-8 строки в символах. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2016, 18:56 |
|
Растолкуйте про ошибку на составной ключ с utf8(unicode_ci_ai)
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, максимальный размер ключа на 9 байт меньше 1/4 страницы. Т.е. 4096 / 4 - 9 = 1024 - 9 = 1015 1015 / 4 = 253 в utf-8 но у него индекс ещё и составной. Там возможно куда-то ещё байты тратятся. И явно не 2 байта как можно было бы предположить. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2016, 19:28 |
|
Растолкуйте про ошибку на составной ключ с utf8(unicode_ci_ai)
|
|||
---|---|---|---|
#18+
Симонов Денисявно не 2 байта как можно было бы предположить. Ключ для smallint это double, 8 байт. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2016, 19:32 |
|
Растолкуйте про ошибку на составной ключ с utf8(unicode_ci_ai)
|
|||
---|---|---|---|
#18+
для композитов все сложнее и оверхед там больше ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2016, 19:46 |
|
Растолкуйте про ошибку на составной ключ с utf8(unicode_ci_ai)
|
|||
---|---|---|---|
#18+
dimitr, А примерно узнать эвристику можно? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2016, 20:17 |
|
Растолкуйте про ошибку на составной ключ с utf8(unicode_ci_ai)
|
|||
---|---|---|---|
#18+
длина каждого сегмента (плюс один байт для DESC) плюс догонка от 1 до 4 байт на сегмент. И весь ключ потом до 8 байт вверх округляется. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2016, 22:07 |
|
Растолкуйте про ошибку на составной ключ с utf8(unicode_ci_ai)
|
|||
---|---|---|---|
#18+
kdv Код: sql 1.
ну вырви-глаз просто. Я бы за это применял инструменты по месту . Мне так удобнее и привычнее. Предпочитаю видеть все ограничения сразу в одном месте, а не бродить глазами по хвостам полей. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2016, 22:34 |
|
Растолкуйте про ошибку на составной ключ с utf8(unicode_ci_ai)
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovСимонов Денисявно не 2 байта как можно было бы предположить. Ключ для smallint это double, 8 байт. В смысле BIGINT ? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2016, 22:36 |
|
|
start [/forum/topic.php?fid=40&msg=39252176&tid=1562142]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
44ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
61ms |
get tp. blocked users: |
1ms |
others: | 17ms |
total: | 169ms |
0 / 0 |