| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > VB6 > Перенос БД в память |
| Автор: scull 22.2.2007, 14:15 | ||||
Имеется таблица в Excell (700x8), в проге работа с ней ведется командами типа:
Создаю массив (700x8) и всю таблицу переношу в этот массив, т.е. команда меняется так:
Вопрос такой: Сильно ли повысит эта операция скорость записи/чтения и проверки условий данных? P.S. Грузится программа будет долго, но меня это не беспокоит. По окончании работы с программой, массив пишется обратно в файл. |
| Автор: mihanik 22.2.2007, 16:06 |
| Планируешь работать с переменными типа Var. Хм... Очень медленно работает с подобными переменными бейсик... Да и памяти будет жрать подобный массив порядочно. А вдруг будет своп на диск... Хотя... Вряд ли. По-моему изгалятся не имеет смысла. |
| Автор: Black_Star 22.2.2007, 18:27 |
| А по-моему стоит. Всякие операции, которые выполняются с памятью на порядок выше, чем считывать/записывать на веник. То, что жрать будет память.... 700*8*8*50 (если длина записи 50 и тип Variant) = 224000=2 Мб. И это по сравнению со всей оперативкой? Мелочь... А вот что медленно вары обрабатываются это 100% точно. |
| Автор: Akina 23.2.2007, 00:54 | ||
На самом деле файл Эксельный будет закэшен, так что нечто вроде
|
| Автор: scull 26.2.2007, 14:43 |
| На счет Var согласен - может быть тогда перед заносом в память определять тип переменной и в соответствующую ячейку массива, настроенный под этот тип данных - Должно работать быстрее? 2 Akina Пробовал такой подход, вот только запросов на эти данные достаточно много, да и надо все время следить за With, а когда файлов открывается три а не один, начинается полный абзац. |
| Автор: Akina 26.2.2007, 18:45 |
В таком случае я бы пошел по пути открытия файлов как ODBC-источников данных... фактически то же "копирование в память с кэшированием", но неиспользуемые блоки считываться не будут. Впрочем, так и осталось неясным - в столбцах таблиц находятся разнородные данные или они структурированы? иными словами, оправдано ли использование Variant? |
| Автор: scull 27.2.2007, 15:05 |
| 2 Akina Понял, что не оправданы... избавился от Var Всем спасибо за помощь! |