Форум: "Базы";
Текущий архив: 2003.07.31;
Скачать: [xml.tar.bz2];
ВнизПереиндексация БД Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.007 c