Вниз
Скачать: CL | DM;

Проблема с индексом   Найти похожие ветки 

← →
scorp123 ©   (2005-11-08 19:08) [0]

В таблице создан вторичный индекс. После создания таблицы всё нормално. По вторичному индексу таблица фильтруется или ищется нужная запись. Но проходит время и при запуске приложения выдаёт сообщение index is out of date (если я правильно перевёл - индекс устаревший).
Заранее благодарен за помощь.


← →
Val ©   (2005-11-08 19:27) [1]

время от времени индексы нужно перестраивать. то ли пересозданием, то ли специальной командой sql.


← →
Desdechado ©   (2005-11-08 22:07) [2]

просто не забывай открывать индекс, когда пишешь в БД, т.к. по умолчанию (если правильно помню) они не открываются, т.е. при изменениях в БД они эти изменения не подхватывают


← →
Виталий Панасенко   (2005-11-09 09:00) [3]

А первичный ключ есть ? Если нету, то все вторичные - не перестраиваемые.. Т.е. пока ты ничего не изменил в данных по индексному полю, все тип-топ.. Но если поменял, то индекс автоматически не перестраивается и имеем то, что имеем. При наличии ПК индексы перестраиваемые (хотя можно и забодяжить "не")


← →
scorp123 ©   (2005-11-10 08:04) [4]


> время от времени индексы нужно перестраивать. то ли пересозданием,
>  то ли специальной командой sql.

На сколько я знаю, в Paradox если таблица не пустая, из DatabaseDesktop
реструктуризацию таблицы провести сложно, если вообще не не возможно.
На счёт специальной команды не знаю. Если есть возможность подскажи что за команда. Буду очень блогадарен.

> просто не забывай открывать индекс, когда пишешь в БД, т.
> к. по умолчанию (если правильно помню) они не открываются,
>  т.е. при изменениях в БД они эти изменения не подхватывают

Если ты имееш в виду свойство IndexName то в этом свойстве вторичный индекс записан постоянно и не меняется.

> А первичный ключ есть ? Если нету, то все вторичные - не
> перестраиваемые.. Т.е. пока ты ничего не изменил в данных
> по индексному полю, все тип-топ.. Но если поменял, то индекс
> автоматически не перестраивается и имеем то, что имеем.
> При наличии ПК индексы перестраиваемые (хотя можно и забодяжить
> "не")

Первичный ключ есть.

Кажется причину я понял. Дело в том, что первое поле в таблице имеет тип Date. Для этого поля на этапе разработки был создан вторичный ключ DateIndex. Именно по поводу этого ключа сообшение и выскакивало.
Для тэстирования СУБД я ввёл ряд записей. В поле Date одно число следует за другим. Тоесть первоя запись 8.11.2005, вторая запись 9.11.2005 и т.д.
Собщение стало выбивать тогода когда записи перестали быть последовательными. Тоесть идёт 8.11.2005 потом 9.11.2005 затем 1.1.2006(не в попад) и далбше опять последовательно. Когда путаницу в записях устранил всё стало на свои места. Поле Date к стати уникальное. Все записи должны отличатся друг от друга.

Огромное спасибо за  помощ.



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.032 c
2-1131447206
lionmen
2005-11-08 13:53
2005.11.27
MAC address


14-1131157454
Доколи
2005-11-05 05:24
2005.11.27
Доколи будут уменьшаться техпроцессы ?


8-1120465795
vladgul
2005-07-04 12:29
2005.11.27
Использование PTP (Picture Transfer Protocol) в своей программе


2-1131352730
syte_ser78
2005-11-07 11:38
2005.11.27
maxvalue


2-1131363541
root
2005-11-07 14:39
2005.11.27
ADO




   Наверх