Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как проверить целостность индекса?
|
|||
|---|---|---|---|
|
#18+
Народ, подскажите пожалуйста, с помощью какой функции (набора функций) можно проверить целостность индекса в таблице FoxPro? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2004, 15:45 |
|
||
|
Как проверить целостность индекса?
|
|||
|---|---|---|---|
|
#18+
zap ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2004, 17:03 |
|
||
|
Как проверить целостность индекса?
|
|||
|---|---|---|---|
|
#18+
А при чём тут ZAP? Ведь эта функция удаляет все записи из таблицы, а мне нужно программно узнать, испорчены ли индексы в таблице, или всё в порядке... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2004, 10:46 |
|
||
|
Как проверить целостность индекса?
|
|||
|---|---|---|---|
|
#18+
Если по команде USE нет ругани, то считай индексы нормальными. Если речь идет не о структурном индексном файле, то проверяешь ругань на команду SET INDEX Других способов нет. Проверка же того, что в индексе учтены все существующие записи таблицы по времени сопоставима с переиндексацией. Т.е. не имеет практического смысла. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2004, 10:58 |
|
||
|
Как проверить целостность индекса?
|
|||
|---|---|---|---|
|
#18+
ламерский вопрос - а что значит целостность индекса? Т.е. если есть подозрение на некорректность индекса (не находит записи и т.д.), то я так мыслю нужно переиндексировать. Может не так понял вопрос? Насчёт ZAP парень просто прикололся - не обращай внимания... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2004, 11:02 |
|
||
|
Как проверить целостность индекса?
|
|||
|---|---|---|---|
|
#18+
Полноценная проверка индексов действительно не целесообразна, но если поставлена задача оперативного обнаружения сбоя, то кое-что все-таки можно сделать. Сбой чаще происходит при добавлении записей, а не при исправлении данных (впрочем, исправление данных в идеале вообще должно отсутствовать как класс). Поэтому можно ограничиться контролем корректности первичного ключа таблицы. Я использовал следующий алгоритм. Блокируем запись в служебной таблице, являющейся счетчиком первичных ключей и берем оттуда значение последнего использованного ключа. Делаем set deleted off (на случай, если последняя физическая запись таблицы удалена), устанавливаем set order на первичный ключ таблицы и сравниваем значения ключа из таблицы ключей, значение при go (reccount()) и значение при go bottom - все значения должны совпадать. Снимаем блокировку. Работает быстро, поэтому можно использовать при открытии таблиц. Конечно, зависит от реализации механизма получения ключей (ключ должен получаться непосредственно перед записью и не зависеть от каких-то логических условий сохранения, т.е. если ключ брался, то это должно означать, что была попытка записи данных). Собственно, все. Может понадобится ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2004, 14:00 |
|
||
|
|

start [/forum/topic.php?desktop=1&fid=41&tid=1596609]: |
0ms |
get settings: |
12ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
56ms |
get topic data: |
14ms |
get forum data: |
4ms |
get page messages: |
60ms |
get tp. blocked users: |
2ms |
| others: | 254ms |
| total: | 429ms |

| 0 / 0 |
