Главная страница
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.47 MB
Время: 0.025 c
3-100554
rosl
2003-07-08 01:52
2003.07.31
sql


14-100924
Михаил_
2003-07-13 22:45
2003.07.31
Помогите выбрать LCD монитор


4-101039
BorisUK
2003-05-29 11:00
2003.07.31
Задача сводится к запуску приложения, которое запустит другое при


1-100778
Bosh
2003-07-16 02:29
2003.07.31
странный обход каталогов


14-100875
Dmitriy O.
2003-07-14 13:31
2003.07.31
Тяжела и неказиста жизнь простого програмиста