Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.07.29;
Скачать: CL | DM;

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.022 c
1-1179757767
Kolan
2007-05-21 18:29
2007.07.29
TObject.Create(без переменной), как добраться до полей?


2-1183480740
Zablkon
2007-07-03 20:39
2007.07.29
Преобразование типов


15-1183458983
vasIZmax
2007-07-03 14:36
2007.07.29
Image, Canvas or OpenGl


2-1183361301
Dyakon_Frost
2007-07-02 11:28
2007.07.29
Как присвоить один код для многих компонентов одного типа


6-1166732105
m00ngl0w
2006-12-21 23:15
2007.07.29
WinSock