|
SQL Message : -607
|
|||
---|---|---|---|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
выдает Commiting transaction... *** IBPP::SQLException *** Context: Transaction::Commit SQL Message : -607 This operation is not defined for system tables. Engine Code : 335544351 Engine Message : unsuccessful metadata update key size exceeds implementation restriction for index "UX_SPR_NAME" ОС - Win10 FB - Server Version --------------------------- WI-V2.5.9.27139 Firebird 2.5 Выполняю в FlameRobin ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2019, 19:38 |
|
SQL Message : -607
|
|||
---|---|---|---|
#18+
Axioma99key size exceeds implementation restriction for index "UX_SPR_NAME" Use Google Translate, Luke! Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2019, 19:46 |
|
SQL Message : -607
|
|||
---|---|---|---|
#18+
Axioma99, индекс может быть не более 1/4 размера страницы, включая в зависимости от кодировки. Какой размер страницы БД, и какая кодировка у столбцов? Либо надо размер страницы увеличивать, либо урезать размер столбцов таблицы. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2019, 19:59 |
|
SQL Message : -607
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Axioma99key size exceeds implementation restriction for index "UX_SPR_NAME" Use Google Translate, Luke! составной индекс не может превышать 300 символов? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2019, 20:02 |
|
SQL Message : -607
|
|||
---|---|---|---|
#18+
Axioma99составной индекс не может превышать 300 символов? Повторяю за kdv медленно: размер ключа индекса не может превышать 1/4 страницы. Пересчёт данных в ключ в общем случае нетривиален. Размеры и типы данных в твоей таблице выглядят так, будто их раздавали от балды. Как и состав индексов. Пришелец из MySSQL? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2019, 20:11 |
|
SQL Message : -607
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, из oracle :) не припомню такое ограничение там поправил структуру и все Оk учту на будущее спасибо за наводку ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2019, 20:29 |
|
SQL Message : -607
|
|||
---|---|---|---|
#18+
Axioma99из oracle :) не припомню такое ограничение там Освежить тебе память? Database ReferenceIndexes total size of indexed column 75% of the database block size minus some overhead Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2019, 20:36 |
|
SQL Message : -607
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, thanks again! ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2019, 20:42 |
|
SQL Message : -607
|
|||
---|---|---|---|
#18+
Axioma99составной индекс не может превышать 300 символов? символ в зависимости от кодировки может занимать от 1 до 4 байт. Так что 300 символов могут превратиться в 1200 байт. У тебя размер страницы 4к? Кодировка столбцов какая? Я задал 2 вопроса, конкретных, а мне в ответ еще вопрос... ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2019, 21:03 |
|
SQL Message : -607
|
|||
---|---|---|---|
#18+
kdv Axioma99составной индекс не может превышать 300 символов? символ в зависимости от кодировки может занимать от 1 до 4 байт. Так что 300 символов могут превратиться в 1200 байт. У тебя размер страницы 4к? Кодировка столбцов какая? Я задал 2 вопроса, конкретных, а мне в ответ еще вопрос... страница 8к, UTF8 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2019, 09:02 |
|
SQL Message : -607
|
|||
---|---|---|---|
#18+
Axioma99, http://www.firebirdfaq.org/ip_ib_indexcalculator.htm Размер ключа выходит 1500 байт, в 8к должно влезать. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2019, 10:44 |
|
SQL Message : -607
|
|||
---|---|---|---|
#18+
kdv Axioma99, http://www.firebirdfaq.org/ip_ib_indexcalculator.htm Размер ключа выходит 1500 байт, в 8к должно влезать. забил на проблему просто привык первичный ключ делать GUID перестроил структуру на INTEGER ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2019, 19:11 |
|
SQL Message : -607
|
|||
---|---|---|---|
#18+
Axioma99, для GUID нужен совсем другой размер да и кодировка ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2019, 19:51 |
|
SQL Message : -607
|
|||
---|---|---|---|
#18+
Axioma99, guid в 50 символов? мощно. Вообще, если вернуться к исходной структуре в первом сообщении - все идентификаторы строковые, а это, мягко говоря, нехорошо. Ну и уникальных ключей напихано по непонятной задумке. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2019, 20:18 |
|
SQL Message : -607
|
|||
---|---|---|---|
#18+
kdv guid в 50 символов? мощно Среднюю длину для символьного представления взял. :) Самый компактный, только Hexadecimal цифры : 12345678123412341234123456789abc - 32 символа ... Самый длинный, Hexadecimal префикс + запятые + фигурные скобки: {0x12345678,0x1234,0x1234,{0x12,0x34,0x12,0x34,0x56,0x78,0x9a,0xbc}} - 68 символов. (68 + 32) => 50 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2019, 23:29 |
|
SQL Message : -607
|
|||
---|---|---|---|
#18+
Axioma99 1. просто привык первичный ключ делать GUID 2. перестроил структуру на INTEGER 1. В первый момент импульсивно мелькнула мысель о нём, но вторая мысель не увидела волшебного слова OCTETS и третьей стало лень. 2. Ну слава Аллаху, может, дальше и найдётся пример для разговора. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2019, 23:33 |
|
SQL Message : -607
|
|||
---|---|---|---|
#18+
ёёёёё, надо же понимать, к чему приведет гуид в 68 символов. Я вот не могу найти презентацию Ковязина по скорости вставки int/char (как раз гуид в 32 символа), но там при наличии индекса разница была около 10 раз. Еще влияет упаковка ключей, а у гуида символы не последовательные, там упаковки не будет, вставляться будет в случайные узлы б-дерева, поэтому скорость вставки гораздо ниже, чем у последовательного int. Потом, ФК-ключи на 32 символа это тоже жесть. Есть теория, а есть практика. И тут практика не на стороне гуидов, особенно длинных. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2019, 23:41 |
|
SQL Message : -607
|
|||
---|---|---|---|
#18+
Axioma99 просто привык первичный ключ делать GUID перестроил структуру на INTEGER Задлянафига человекочитаемый формат гуид-а? почему не 16 байт с чарсетом октетс? Почему не сделать ПК-ФК bigint? Как раз таки самый удобный и скорострельный вариант. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2019, 23:51 |
|
SQL Message : -607
|
|||
---|---|---|---|
#18+
kdvЯ вот не могу найти презентацию Ковязина по скорости вставки int/char (как раз гуид в 32 символа), но там при наличии индекса разница была около 10 раз. Потому что 1. Использовался gen_uuid(), который на данный момент использует не sequentional guid. 2. Перед индексированием он не приводился к big-endian. Если кто-то сподобится сделать генерацию правильно - разницы такой не будет. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2019, 00:34 |
|
|
start [/forum/topic.php?fid=40&fpage=18&tid=1560495]: |
0ms |
get settings: |
10ms |
get forum list: |
9ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
59ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
others: | 301ms |
total: | 459ms |
0 / 0 |