Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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
1-1134133314
webber
2005-12-09 16:01
2006.01.15
NMFTP - проблемы с передачей данных


14-1134039201
IAmDanil
2005-12-08 13:53
2006.01.15
Проверялка


8-1123065792
BFG9k
2005-08-03 14:43
2006.01.15
Перетаскивание изображения как в ACDsee


2-1135525506
lex85
2005-12-25 18:45
2006.01.15
DateTimePicker


2-1135612088
Volfram
2005-12-26 18:48
2006.01.15
TMemo, Lines