Текущий архив: 2006.01.15;
Скачать: CL | DM;
Вниз
Ошибка при создании таблицы Найти похожие ветки
← →
Id (2005-11-14 13:54) [0]Здраствуйте.
Работаю в 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".
В чем дело?
← →
Desdechado © (2005-11-14 13:56) [1]судя по тексту, одинаково названные поля
и еще помни - есть ограничение на суммарную длину полей записи
← →
Курдль © (2005-11-14 14:41) [2]
> Id (14.11.05 13:54)
>
> Здраствуйте.
> Работаю в IBExpert, создаю обычную таблицу. 60 полей.
"60 полей" - это не обычная таблица. Это весьма подозрительная таблица... Зачем это ей столько полей?..
← →
Id (2005-11-15 08:20) [3]>Курдль © (14.11.05 14:41) [2]
>60 полей" - это не обычная таблица. Это весьма подозрительная таблица... >Зачем это ей столько полей?..
Проекты разные бывают ...
← →
Loginov Dmitry © (2005-11-15 08:33) [4]Максимум работал с таблицей 40 полей, но после того, как стал использовать БЛОБ, число полей сократилось до 9. Может и здесь такой же случай?
← →
Id (2005-11-15 08:41) [5]Очень много параметров, это статистическая карта.
Интересно, почему это так заинтересовало?
может снижается производительность? скорость?
>Максимум работал с таблицей 40 полей, но после того, как стал использовать БЛОБ, число полей сократилось до 9.
Не совсем понимаю механизм этого.
← →
Stakan © (2005-11-15 13:15) [6]Loginov Dmitry © (15.11.05 8:33) [4]
Бывают таблицы и с большим количеством полей чем 60, у меня например 63, и сейчас добавлю 64-е :).
Id (14.11.05 13:54)
приведи скрипт создания таблицы.
← →
Desdechado © (2005-11-15 13:36) [7]встречавшиеся мне "широкие" таблицы были лишь от незнания правил нормализации
практически всё, что можно вытянуть в ширину, лучше вытянуть в длину
← →
Id (2005-11-17 10:14) [8]>Id (14.11.05 13:54)
Разобрался - было одинаковое имя у двух полей
← →
Sergey13 © (2005-11-17 10:19) [9]В день по 20 полей проверял? А че, нормальная скорость, куда спешить то. 8-)
← →
Tomkat (2005-11-17 16:53) [10]я представил индекс по этой таблице ....
с точки зрения банальной эрудиции ... т.е. форм нормализации таблиц идеальная таблица имеет 2 поля , одно из к-х - идентификатор записи
это , конецно, трудно реализуемо, но ,IMHO, чем меньше полей- тем быстрее связи работают ....
все же 60 полей - многовато ......
← →
Sergey13 © (2005-11-17 16:59) [11]2 [10] Tomkat (17.11.05 16:53)
А при чем тут индекс, связи и 60 полей? Ты все поля что-ли индексируешь обычно? Странный подход.
← →
Tomkat (2005-11-17 17:04) [12]я - нет, а ты его спроси .... :-)
← →
Desdechado © (2005-11-17 17:20) [13]Если влезать уж в самые дебри хранения данных, то чем длиннее запись, тем их меньше помещается на странице, что при необходимости выбрать, допустим, 300 записей приводит к чтению, например, 10 страниц с диска вместо 1, если б в таблице было 6 полей вместо 60.
А т.к. операции ввода/вывода - узкое место работы СУБД, то это снижение скорости, в т.ч. и по индексу, ибо что есть индекс - это указатели на реальные данные, которые все равно читать надо, никуда не денешься.
← →
Sergey13 © (2005-11-18 09:18) [14]2 [13] Desdechado © (17.11.05 17:20)
Спорно. Объем данных, содержащихся в 10 записях по 60 полей, примерно равен объему 100 записей по 6 полей. Даже немного меньше за счет меньшего количества ключевых полей. При индексном поиске тоже 60 шустрее 6 будет - в индексе меньше записей. Да и при полном сканировании тоже вроде - объем равный, а операций сравнения меньше.
Может какие то скоростные выигрыши и можно получить за счет уменьшения ширины, но основной выигрыш - это удобство и большая гибкость структуры.
Ничего страшного в 60 полях нет, если такая структура действительно нужна.
ИМХО все.
← →
Desdechado © (2005-11-18 12:17) [15]> При индексном поиске тоже 60 шустрее 6 будет - в индексе меньше записей
Смотря какая длина индексного ключа. Ведь индексы тоже читать надо, и тоже страницами.
← →
Sergey13 © (2005-11-18 12:33) [16]2[15] Desdechado © (18.11.05 12:17)
>Смотря какая длина индексного ключа. Ведь индексы тоже читать надо, и тоже страницами
ИМХО, без разницы это (60 полей) для длины индексного ключа. Я не думаю, что все 60 полей (или даже половина) в индексе учавствуют (это уже клиника 8-). Я подразумеваю (догадки конечно это), что есть ПК ну и еще какое-то 1-2 поля с индексом. Остальные поля - просто поля. 8-)
А записей в индексе меньше.
Страницы: 1 вся ветка
Текущий архив: 2006.01.15;
Скачать: CL | DM;
Память: 0.5 MB
Время: 0.051 c