Страница: 1 |
Страница: 1 |
Вопрос: Дефрагментация в базе.
Добавлено: 27.03.05 06:46
Автор вопроса: CyRax | Web-сайт:
Как вообще физически удаляются помеченные на удаление записи в базе?
Смещается по одной записи? Или вся база грузится в память и удаляются уже там? Или вообще по другому? Может есть какой общепринятый способ чтобы я не изобретал вилосипед. Я пока удаляю через память.
Ответы
Всего ответов: 4
Номер ответа: 1
Автор ответа:
Павел
Администратор
ICQ: 326066673
Вопросов: 368
Ответов: 5968
Web-сайт:
Профиль | | #1
Добавлено: 27.03.05 10:45
Грузить всю базу в память - явно не решение. Потому как например базы
Access могут быть размером до 2 Гб
Номер ответа: 2
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #2
Добавлено: 27.03.05 13:25
Да, про 2 Гига я не подумал. Ладно, всё равно уже всё сделано (через память) и закачано
Тем более что для VB6 2 Гига - нонсенс.
Потом переделаю под диск, а сечас если у кого есть желание - потестируйте класс для работы с DBF-ками.
http://basicproduction.nm.ru/BPDBF.rar
Номер ответа: 3
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #3
Добавлено: 27.03.05 13:27
Павел,
Есть предложения? Ну алгоритм может какой или ещё что.
Номер ответа: 4
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #4
Добавлено: 27.03.05 16:09
Не бойтесь тестить, класс почти 100%-но реализован на чистом (если можно так выразиться) VB. Исключение составляют перекодировка ДОС/WIN и обрезка файла (мне кстати никто так и не подсказал соответствующую VB-шную команду). Ну и при дефрагментации CopyMemory применяется чтобы цикл не использовать для копирования массива.
Почитайте readme.txt в архиве - там всё расписано. И устройство базы и каждая функция и даже какой код где писать нужно.
Кто совсем не знаком с базами данных - тому лучше введения не найти (ну не хвастун ли я ), а кто работал через драйвера - тому апдейт на следующий уровень, шучу.
Да, если кто не знает, DBF - это что то типа MDB (ну это то что для Access), только более древний. Между прочем DBF-ки до сих пор актуальны во многих учереждениях бывшего СССР и вполне возможно ещё долго будут актуальны. Даже Микрософт их ещё поддерживает. Не верите? Создайте моим классом базу и откройте в Excel'e. То то же
Вобщем сами извлекайте выгоду. Моё дело написать