|
REINDEX или INDEX
|
|||
---|---|---|---|
#18+
Для реиндексации ночью использую програмный файл который получил из файла, созданным утилитой GENDBC: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42.
таблицы применить REINDEX и при этом если меняеш(добавляеш) выражение индекса ,то не надо менять соотв.программный файл реиндексации. В одной из книг по VFP: авторТаким образом,первичные и внешние ключи должны просто реиндексироваться.Но можно удалять и воссоздать другие тэги-это позволит улучшить пространственную организацию индексного файла. А это как понимать:по будним дням REINDEX по выходным INDEX ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2008, 11:07 |
|
REINDEX или INDEX
|
|||
---|---|---|---|
#18+
авторпозволит улучшить пространственную организацию индексного файла Про этот тезис ни чего не скажу, но при index cdx получаются поменьше и гарантировано исключают последующие ошибки индесов (по моей практике) и если есть возможность переоздать индексы то пользуюсь ей а не просто переиндексацией ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2008, 14:45 |
|
REINDEX или INDEX
|
|||
---|---|---|---|
#18+
АлексейО и если есть возможность переоздать индексы то пользуюсь ей а не просто переиндексацией Учитывая выше сказазанное для реиндексации буду использовать INDEX. В приведённом выше програмном файле(GENDBC породило) можно заменить чем то короче код типа: Код: plaintext 1. 2. 3. 4. 5.
например: Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2008, 15:41 |
|
REINDEX или INDEX
|
|||
---|---|---|---|
#18+
При создании индекса командой INDEX в CDX файле не освобождается место от предыдущего варианта индекса и поэтому CDX увеличивается после каждого INDEX Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
REINDEX такой проблемы не имеет, но может не сработать если индекс сильно поврежден и в нем попорчено индексное выражение. Лучше всего так: Код: plaintext 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2008, 17:00 |
|
REINDEX или INDEX
|
|||
---|---|---|---|
#18+
Dima TЛучше всего так: Код: plaintext 1. 2. 3.
Но, после такой индексации надо будет восстановить все отношения,так как в книге по VFP сказано: авторНе удаляйте все тэги в таблице посредством команды Delete Tag All . Первичный ключ является индексом;если вы его удалите,будут уничтожены и все отношения,которые на него ссылаются. В этом случае вы можете потерять часть ограничений ссылочной целостности. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2008, 18:04 |
|
REINDEX или INDEX
|
|||
---|---|---|---|
#18+
Делается все проще. 1. Создается резервное хранилище, в котором находятся пустые файлы DBF, FPT, CDX. Можно для этой цели просто запускать программу, полученную после GenDBC.prg "как есть". Просто создать пустую базу данных. Можно также использовать просто резервную копию рабочих данных, если есть уверенность, что в этой копии файлы CDX не поврежденные. 2. Удаляешь ВСЕ файлы CDX в рабочей базе и заменяешь их файлами CDX из этого резервного хранилища. 3. Запускаешть REINDEX по всем таблицам, чтобы привести в соответствие содержимое скопированных CDX-файлов и реального содержимого таблиц. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2008, 00:53 |
|
REINDEX или INDEX
|
|||
---|---|---|---|
#18+
Благодаря Владмимиру М прог.файл копирования и индексирования см. тут приобрел такой вид (очень мало переделок): Код: plaintext
Спасибо всем. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2008, 09:49 |
|
|
start [/forum/topic.php?fid=41&msg=35498334&tid=1587365]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
64ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
others: | 328ms |
total: | 502ms |
0 / 0 |