powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / SQL Message : -607
19 сообщений из 19, страница 1 из 1
SQL Message : -607
    #39899263
Axioma99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
CREATE TABLE tb_sql_parameters (
spr_id VARCHAR(50) NOT NULL,
spr_order VARCHAR(10) DEFAULT '0000' NOT NULL,
spr_sql_id VARCHAR (50) NOT NULL,
spr_name VARCHAR(250) NOT NULL,
spr_caption VARCHAR(250) DEFAULT 'Параметр' NOT NULL,
spr_type int default 1 NOT NULL,
spr_memo BLOB SUB_TYPE 1,
CONSTRAINT pk_sql_parameters PRIMARY KEY (spr_id),
CONSTRAINT ux_spr_order UNIQUE (spr_order, spr_sql_id),
CONSTRAINT ux_spr_name UNIQUE (spr_name, spr_sql_id)
)



выдает
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
...
Рейтинг: 0 / 0
SQL Message : -607
    #39899266
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Axioma99key size exceeds implementation restriction for index "UX_SPR_NAME"

Use Google Translate, Luke!
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
SQL Message : -607
    #39899272
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Axioma99,

индекс может быть не более 1/4 размера страницы, включая в зависимости от кодировки.
Какой размер страницы БД, и какая кодировка у столбцов?
Либо надо размер страницы увеличивать, либо урезать размер столбцов таблицы.
...
Рейтинг: 0 / 0
SQL Message : -607
    #39899275
Axioma99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov

Axioma99key size exceeds implementation restriction for index "UX_SPR_NAME"

Use Google Translate, Luke!


составной индекс не может превышать 300 символов?
...
Рейтинг: 0 / 0
SQL Message : -607
    #39899278
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Axioma99составной индекс не может превышать 300 символов?

Повторяю за kdv медленно: размер ключа индекса не может превышать 1/4 страницы. Пересчёт
данных в ключ в общем случае нетривиален.

Размеры и типы данных в твоей таблице выглядят так, будто их раздавали от балды. Как и
состав индексов. Пришелец из MySSQL?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
SQL Message : -607
    #39899284
Axioma99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

из oracle :)
не припомню такое ограничение там
поправил структуру и все Оk
учту на будущее

спасибо за наводку
...
Рейтинг: 0 / 0
SQL Message : -607
    #39899288
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
...
Рейтинг: 0 / 0
SQL Message : -607
    #39899291
Axioma99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

thanks again!
...
Рейтинг: 0 / 0
SQL Message : -607
    #39899293
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Axioma99составной индекс не может превышать 300 символов?
символ в зависимости от кодировки может занимать от 1 до 4 байт. Так что 300 символов могут превратиться в 1200 байт.
У тебя размер страницы 4к? Кодировка столбцов какая?
Я задал 2 вопроса, конкретных, а мне в ответ еще вопрос...
...
Рейтинг: 0 / 0
SQL Message : -607
    #39899352
Axioma99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdv
Axioma99составной индекс не может превышать 300 символов?

символ в зависимости от кодировки может занимать от 1 до 4 байт. Так что 300 символов могут превратиться в 1200 байт.
У тебя размер страницы 4к? Кодировка столбцов какая?
Я задал 2 вопроса, конкретных, а мне в ответ еще вопрос...

страница 8к, UTF8
...
Рейтинг: 0 / 0
SQL Message : -607
    #39899361
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Axioma99,

http://www.firebirdfaq.org/ip_ib_indexcalculator.htm

Размер ключа выходит 1500 байт, в 8к должно влезать.
...
Рейтинг: 0 / 0
SQL Message : -607
    #39899447
Axioma99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdv
Axioma99,

http://www.firebirdfaq.org/ip_ib_indexcalculator.htm

Размер ключа выходит 1500 байт, в 8к должно влезать.


забил на проблему
просто привык первичный ключ делать GUID
перестроил структуру на INTEGER
...
Рейтинг: 0 / 0
SQL Message : -607
    #39899449
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Axioma99,

для GUID нужен совсем другой размер да и кодировка
...
Рейтинг: 0 / 0
SQL Message : -607
    #39899452
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Axioma99,

guid в 50 символов? мощно. Вообще, если вернуться к исходной структуре в первом сообщении - все идентификаторы строковые, а это, мягко говоря, нехорошо.
Ну и уникальных ключей напихано по непонятной задумке.
...
Рейтинг: 0 / 0
SQL Message : -607
    #39899478
ёёёёё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv
guid в 50 символов? мощно

Среднюю длину для символьного представления взял. :)

Самый компактный, только Hexadecimal цифры :
12345678123412341234123456789abc - 32 символа
...
Самый длинный, Hexadecimal префикс + запятые + фигурные скобки:
{0x12345678,0x1234,0x1234,{0x12,0x34,0x12,0x34,0x56,0x78,0x9a,0xbc}} - 68 символов.

(68 + 32) => 50
...
Рейтинг: 0 / 0
SQL Message : -607
    #39899479
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Axioma99

1. просто привык первичный ключ делать GUID
2. перестроил структуру на INTEGER


1. В первый момент импульсивно мелькнула мысель о нём, но вторая мысель не увидела волшебного слова OCTETS и третьей стало лень.
2. Ну слава Аллаху, может, дальше и найдётся пример для разговора.
...
Рейтинг: 0 / 0
SQL Message : -607
    #39899481
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ёёёёё,

надо же понимать, к чему приведет гуид в 68 символов.
Я вот не могу найти презентацию Ковязина по скорости вставки int/char (как раз гуид в 32 символа),
но там при наличии индекса разница была около 10 раз.
Еще влияет упаковка ключей, а у гуида символы не последовательные, там упаковки не будет, вставляться будет в случайные узлы б-дерева, поэтому скорость вставки гораздо ниже, чем у последовательного int.

Потом, ФК-ключи на 32 символа это тоже жесть. Есть теория, а есть практика. И тут практика не на стороне гуидов, особенно длинных.
...
Рейтинг: 0 / 0
SQL Message : -607
    #39899483
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Axioma99
просто привык первичный ключ делать GUID
перестроил структуру на INTEGER
Амплитуда шатаний пересиливает все мыслимые пределы.


Задлянафига человекочитаемый формат гуид-а? почему не 16 байт с чарсетом октетс?
Почему не сделать ПК-ФК bigint? Как раз таки самый удобный и скорострельный вариант.
...
Рейтинг: 0 / 0
SQL Message : -607
    #39899488
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvЯ вот не могу найти презентацию Ковязина по скорости вставки int/char (как раз гуид в 32
символа), но там при наличии индекса разница была около 10 раз.

Потому что
1. Использовался gen_uuid(), который на данный момент использует не sequentional guid.
2. Перед индексированием он не приводился к big-endian.

Если кто-то сподобится сделать генерацию правильно - разницы такой не будет.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / SQL Message : -607
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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