![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ошибка при создании таблицы [D6, FB]
Id © (2005-11-14 13:54:00)Здраствуйте.
Работаю в IBExpert, создаю обычную таблицу. 60 полей.
ошибка
This operation is not defined for system tables.
unsuccessful metadata update.
STORE RDB$RELATION_FIELDS failed.
attempt to store duplicate value (visible to active transactions) in unique index "RDB$INDEX_15".
В чем дело?
Sergey13 (2005-11-18 12:33:00) [1]2[15] Desdechado © (18.11.05 12:17)
>Смотря какая длина индексного ключа. Ведь индексы тоже читать надо, и тоже страницами
ИМХО, без разницы это (60 полей) для длины индексного ключа. Я не думаю, что все 60 полей (или даже половина) в индексе учавствуют (это уже клиника 8-). Я подразумеваю (догадки конечно это), что есть ПК ну и еще какое-то 1-2 поля с индексом. Остальные поля - просто поля. 8-)
А записей в индексе меньше.
Desdechado (2005-11-18 12:17:00) [2]> При индексном поиске тоже 60 шустрее 6 будет - в индексе меньше записей
Смотря какая длина индексного ключа. Ведь индексы тоже читать надо, и тоже страницами.
Sergey13 (2005-11-18 09:18:00) [3]2 [13] Desdechado © (17.11.05 17:20)
Спорно. Объем данных, содержащихся в 10 записях по 60 полей, примерно равен объему 100 записей по 6 полей. Даже немного меньше за счет меньшего количества ключевых полей. При индексном поиске тоже 60 шустрее 6 будет - в индексе меньше записей. Да и при полном сканировании тоже вроде - объем равный, а операций сравнения меньше.
Может какие то скоростные выигрыши и можно получить за счет уменьшения ширины, но основной выигрыш - это удобство и большая гибкость структуры.
Ничего страшного в 60 полях нет, если такая структура действительно нужна.
ИМХО все.
Desdechado (2005-11-17 17:20:00) [4]Если влезать уж в самые дебри хранения данных, то чем длиннее запись, тем их меньше помещается на странице, что при необходимости выбрать, допустим, 300 записей приводит к чтению, например, 10 страниц с диска вместо 1, если б в таблице было 6 полей вместо 60.
А т.к. операции ввода/вывода - узкое место работы СУБД, то это снижение скорости, в т.ч. и по индексу, ибо что есть индекс - это указатели на реальные данные, которые все равно читать надо, никуда не денешься.
Tomkat (2005-11-17 17:04:00) [5]я - нет, а ты его спроси .... :-)
Sergey13 (2005-11-17 16:59:00) [6]2 [10] Tomkat (17.11.05 16:53)
А при чем тут индекс, связи и 60 полей? Ты все поля что-ли индексируешь обычно? Странный подход.
Tomkat (2005-11-17 16:53:00) [7]я представил индекс по этой таблице ....
с точки зрения банальной эрудиции ... т.е. форм нормализации таблиц идеальная таблица имеет 2 поля , одно из к-х - идентификатор записи
это , конецно, трудно реализуемо, но ,IMHO, чем меньше полей- тем быстрее связи работают ....
все же 60 полей - многовато ......
Sergey13 (2005-11-17 10:19:00) [8]В день по 20 полей проверял? А че, нормальная скорость, куда спешить то. 8-)
Id (2005-11-17 10:14:00) [9]>Id (14.11.05 13:54)
Разобрался - было одинаковое имя у двух полей
Desdechado (2005-11-15 13:36:00) [10]встречавшиеся мне "широкие" таблицы были лишь от незнания правил нормализации
практически всё, что можно вытянуть в ширину, лучше вытянуть в длину
Stakan (2005-11-15 13:15:00) [11]Loginov Dmitry © (15.11.05 8:33) [4]
Бывают таблицы и с большим количеством полей чем 60, у меня например 63, и сейчас добавлю 64-е :).
Id (14.11.05 13:54)
приведи скрипт создания таблицы.
Id (2005-11-15 08:41:00) [12]Очень много параметров, это статистическая карта.
Интересно, почему это так заинтересовало?
может снижается производительность? скорость?
>Максимум работал с таблицей 40 полей, но после того, как стал использовать БЛОБ, число полей сократилось до 9.
Не совсем понимаю механизм этого.
Loginov Dmitry (2005-11-15 08:33:00) [13]Максимум работал с таблицей 40 полей, но после того, как стал использовать БЛОБ, число полей сократилось до 9. Может и здесь такой же случай?
Id (2005-11-15 08:20:00) [14]>Курдль © (14.11.05 14:41) [2]
>60 полей" - это не обычная таблица. Это весьма подозрительная таблица... >Зачем это ей столько полей?..
Проекты разные бывают ...
Курдль (2005-11-14 14:41:00) [15]
> Id (14.11.05 13:54)
>
> Здраствуйте.
> Работаю в IBExpert, создаю обычную таблицу. 60 полей.
" 60 полей" - это не обычная таблица. Это весьма подозрительная таблица... Зачем это ей столько полей?..
Desdechado (2005-11-14 13:56:00) [16]судя по тексту, одинаково названные поля
и еще помни - есть ограничение на суммарную длину полей записи