Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.03.28;
Скачать: [xml.tar.bz2];

Вниз

Foreign Keys и индексы   Найти похожие ветки 

 
Dimedrol ©   (2004-02-24 21:24) [0]

Коллеги, вот наткнулся на такой скрипт создания
таблицы в Firebird:

CREATE TABLE T_ADR (
   ID_ADR INTEGER NOT NULL,
   ID_COUNTRY INTEGER,
   ID_INDEX INTEGER,
   ID_DISTR INTEGER,
   ID_CITY INTEGER,
   ID_KHUTOR INTEGER,
   ID_STREET INTEGER,
   HOUSE VARCHAR (20) CHARACTER SET NONE NOT NULL COLLATE NONE,
   CORPUS VARCHAR (20) CHARACTER SET NONE NOT NULL COLLATE NONE,
   APARTMENT VARCHAR (20) CHARACTER SET NONE NOT NULL COLLATE NONE,
   ADR_NOTE VARCHAR (10000) CHARACTER SET NONE NOT NULL COLLATE NONE,
   ID_CHANGE INTEGER NOT NULL,
   DT_CHANGE TIMESTAMP NOT NULL);

/* Primary keys definition */

ALTER TABLE T_ADR ADD CONSTRAINT PK_T_ADR PRIMARY KEY (ID_ADR);

/* Foreign keys definition */

ALTER TABLE T_ADR ADD CONSTRAINT FK_T_ADR FOREIGN KEY (ID_COUNTRY) REFERENCES T_TEKST (ID_TEKST);
ALTER TABLE T_ADR ADD CONSTRAINT FK_T_ADR1 FOREIGN KEY (ID_INDEX) REFERENCES T_TEKST (ID_TEKST);
ALTER TABLE T_ADR ADD CONSTRAINT FK_T_ADR2 FOREIGN KEY (ID_DISTR) REFERENCES T_TEKST (ID_TEKST);
ALTER TABLE T_ADR ADD CONSTRAINT FK_T_ADR3 FOREIGN KEY (ID_CITY) REFERENCES T_TEKST (ID_TEKST);
ALTER TABLE T_ADR ADD CONSTRAINT FK_T_ADR4 FOREIGN KEY (ID_KHUTOR) REFERENCES T_TEKST (ID_TEKST);
ALTER TABLE T_ADR ADD CONSTRAINT FK_T_ADR5 FOREIGN KEY (ID_STREET) REFERENCES T_TEKST (ID_TEKST);

/* Indices definition */

CREATE INDEX IDX_T_ADR ON T_ADR (ID_COUNTRY, ID_INDEX, ID_DISTR, ID_CITY, ID_KHUTOR);


Вопрос такой:
А нужно ли вообще создавать индексы по тем полям, которые
уже FOREIGN KEY

Эффективно ли это ?

Не создаются ли они уже сами ?


 
Johnmen ©   (2004-02-24 23:36) [1]

Да, создаются автоматически.
Приведенный здесь индекс никакого отношения к индексам по ссылочным полям не имеет. И к тому же абсолютно бессмысленен (за искл.случая, когда нужен быстрый поиск по совокупности значений полей в индексе, а это вряд ли).


 
Dimedrol ©   (2004-02-25 14:22) [2]

Спасибо.



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2004.03.28;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.44 MB
Время: 0.036 c
3-1076950170
freshman
2004-02-16 19:49
2004.03.28
Как сделать цикл чтения БД


14-1078330481
Piton_Sk
2004-03-03 19:14
2004.03.28
Кто качал TestsEdit Clift или знает e-mail автора


11-1057351721
SKI
2003-07-05 00:48
2004.03.28
Работа с несколькими формами


1-1078658419
Fess
2004-03-07 14:20
2004.03.28
Работа с файлами


3-1077630655
Layner
2004-02-24 16:50
2004.03.28
Подскажите, как установить курсор на запись, где rowid=55 напр.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский