Нужен совет по Перв и Вн ключам к таблицам.

Запросы, планы, оптимизация запросов, ...

Модераторы: kdv, CyberMax

Ответить
McArty
Сообщения: 56
Зарегистрирован: 14 янв 2005, 09:31

Нужен совет по Перв и Вн ключам к таблицам.

Сообщение McArty » 01 фев 2005, 10:50

Есть таблицы Шапка Документа и Табл. Часть документа.
при этом документ идентифицируется IDBase,IDTypeDoc,IDDoc
для связки с табл частью соответственно внеш. ключ по IDBASE,IDDOC
.Вопрос: Может лучше будет заменить три поля типа Integer на одно CHAR(15) ???
По быстродействию,что лучше индекс по 3-м полям типа Integer или одному полю CHAR(15)?

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 01 фев 2005, 10:58

документ вообще-то не может идентифицироваться типом. а номера документов лучше всего сделать глобальные, т.е. одним числом. например x+y, где x - номер базы, и достаточно большое число.

Merlin
Динозавр IB/FB
Сообщения: 1502
Зарегистрирован: 27 окт 2004, 11:44

Сообщение Merlin » 01 фев 2005, 12:45

kdv писал(а):документ вообще-то не может идентифицироваться типом. а номера документов лучше всего сделать глобальные, т.е. одним числом. например x+y, где x - номер базы, и достаточно большое число.
Насчёт типа согласный, но убей не понимаю всеобщую ненависть к многосегментным констрайнтам и индексам. В данном случае двухсегментный ключ наиболее адекватно отражает реальность, позволяет простым и естественным образом строить запросы с фильтрацией, группировкой и сортировкой по базам и ничему не мешает в джойнах, если только не считать трагедией что два AND писать в условиях. Или ON ... AND в явных. Нет, почему-то все норовят превратить его в какую-то синтетику а потом колдовать с условиями и т.п.

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 01 фев 2005, 13:05

да пожалуйста... я просто так сказал. можно подумать у меня в базах нет многосегментных ПК :-)

McArty
Сообщения: 56
Зарегистрирован: 14 янв 2005, 09:31

Сообщение McArty » 01 фев 2005, 15:20

вопрос снят!
"ID1+ID2+....+IDN = Больше геморроя,чем пользы." :!:

Ответить