Главная страница
    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.038 c
15-1183486078
ttimetabler
2007-07-03 22:07
2007.07.29
помогите определить время :)


15-1183029982
Kostafey
2007-06-28 15:26
2007.07.29
Как сделать исполняемый jar - файл ?


2-1183389396
Ezorcist
2007-07-02 19:16
2007.07.29
Канва у имэйджа.


15-1182850117
sergeyst
2007-06-26 13:28
2007.07.29
Можно ли в поток добавить данные?


2-1183357389
Slider007
2007-07-02 10:23
2007.07.29
Два вопроса по индексам





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