Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Переиндексация БД [D6, Paradox]


Sheng ©   (2003-07-11 09:14:00) 

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


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


> DenK_vrtz © (11.07.03 09:29)

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


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

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


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

Переиндексация нужна для востановления индеков у таблиц(ы). Необходимость в ней возникает когда индексы были испорчены, например, в результате сбоя электропитания. Программно индексы восстанавливать можно через 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:29:00) [4]

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

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо