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

Вниз

Два вопроса по индексам   Найти похожие ветки 

 
Slider007 ©   (2007-07-02 10:23) [0]

Програмку свою дописываю помаленьку. Delphi6. Firebird 1.5.4.
По индексам возникло два вопроса:
1.Если для поля таблицы определен внешний ключ, есть ли необходимость для этого поля создавать ещё и отдельный индекс ? Или внешний ключ уже сам по себе ускоряет поиск по данному полю ?
2.В одной из табличек у меня есть поле "тип документа". В программе используется всего ТРИ типа документов, соответственно поле может принимать ТРИ значения - 1, 2 или 3. Нало ли индексировать это поле ?
Вопрос возник в свяязи с прочтением Пункта №11 со страницы http://www.ibase.ru/devinfo/dontdoit.htm
Цитирую:
Не стройте индексы по полям, содержащим наименьшее количество разных значений (например только 0 и 1, пол мужской/женский и т.п.)
Если Вам все же надо такой индекс, то добавьте к нему еще одно поле, которое сделает индекс более "уникальным".
Индексы с большим числом дубликатов ключей сильно замедляют сборку мусора (до IB 7.5 и Firebird 2.0).


Заранее спасибо. Не обижусь если ветка окажется в "Начинающих".


 
Сергей М. ©   (2007-07-02 10:30) [1]

1. Явной необходимости нет, потому как такое поле уже индексировано.

2. Необходимость индексации в этом случае зависит от объема данных в таблице и от требований к производительности запросов, в которых это поле фигурирует в условиях сортировки и/или отбора.


 
Anatoly Podgoretsky ©   (2007-07-02 11:11) [2]

2. смотреть планы


 
Gadenysh   (2007-07-02 13:31) [3]

2. на вопрос надо ли индексировать Ваше поле можете ответить только Вы. Для этого надо посмотреть, в каких запросах поле используется и как часто, нет ли на нем внешнего ключа(см. 1.из [1]), производится ли фильтрация и\или поиск по этому полю, да и мощность таблицы в конце концов тоже имеет значение. Возможно, это поле при поиске итп используется в составных условиях, тогда делайте составной индекс, как в Вашей цитате.


 
Грициан   (2007-07-02 14:29) [4]

Ваще, такая рекомендация, если выборка составляет меньше 25% от всего количества записей, то лучше использовать индексное чтение, иначе лучше натурал.



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

Форум: "Начинающим";
Текущий архив: 2007.07.29;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.046 c
15-1182939839
TruePunk
2007-06-27 14:23
2007.07.29
TLSDScreen


2-1183302519
Qzzma
2007-07-01 19:08
2007.07.29
Как узнать путь запущенного приложения?


3-1177310371
bam
2007-04-23 10:39
2007.07.29
кодировка dbf


15-1183328674
Германн
2007-07-02 02:24
2007.07.29
Какая всё-таки хорошая вещь - современные бытовые водонагреватели


2-1183374371
malor
2007-07-02 15:06
2007.07.29
Error reading MyAdvStringGrid.SearchFooter.FindNextCaption: Prope





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский