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

Вниз

Переиндексация БД   Найти похожие ветки 

 
Sheng   (2003-07-11 09:14) [0]

Привет всем! Я мало работал с БД, а тут пришлось. Объясните, плз, для чего нужна переиндексация, когда в ней возникает необходимость и как это реализовать программно? Заранее Спасибо за ответы.


 
DenK_vrtz   (2003-07-11 09:29) [1]

Переиндексация нужна:
1. когда "сваливаются" старые индексы
2. когда необходимо добавить новый индекс
3. может еще когда... :-) (для тестирования например)

Как сделать программно:
1. при помощи методов компонентов (например,Table.AddIndex)
2. при помощи SQL запросов


 
sunwheel   (2003-07-11 09:30) [2]

Переиндексация нужна для востановления индеков у таблиц(ы). Необходимость в ней возникает когда индексы были испорчены, например, в результате сбоя электропитания. Программно индексы восстанавливать можно через dbiRegenIndex. Вот пример из справки:


Regenerate an index to ensure that it is up to date.

This example uses the following input:

fDbiRegenIndex(Table1, "ByCompany", "", 1);

The procedure is:

procedure fDbiRegenIndex(Tbl: TTable; IndexName, TagName: String; IndexNum: Word);

begin
Check(DbiRegenIndex(Tbl.DBHandle, nil, PChar(Tbl.TableName), nil,
PChar(IndexName), PChar(TagName), IndexNum));
end;


 
DenK_vrtz   (2003-07-11 09:36) [3]

Sheng © , я имелл ввиду (как сделать программно) - методом Удалить старый индекс и создать новый,
чтобы не было противоречий с sunwheel © (11.07.03 09:30)


 
Соловьев   (2003-07-11 11:00) [4]


> DenK_vrtz © (11.07.03 09:29)

еще нужно 4 пункт.
...
4. когда добавляется много записей - ускоряет загрузку удаление индекса, а потом создание по новой.




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

Текущий архив: 2003.07.31;
Скачать: CL | DM;

Наверх




Память: 0.44 MB
Время: 0.008 c
1-100679
Opera
2003-07-18 10:48
2003.07.31
game.ini


7-101005
SDW_syscoder
2003-05-12 01:33
2003.07.31
Прерывания в Delphi


1-100768
WASYA
2003-07-16 17:18
2003.07.31
События


14-100925
Nikolay M.
2003-07-08 10:04
2003.07.31
Самая популярная ветка за историю существования форума - ?


3-100631
vopros
2003-07-10 12:07
2003.07.31
Запрос RequestLive при добавлении и посте записи в Eh гриде





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