Решил задать вопрос в разделе БД, т.к. реализацию своей задачи вижу в использовании все же БД. Проблема в следующем: читаю бинарный файл (размер до 20Мб, в среднем размер 10-12Мб), упорядочиваю данные и отображаю через модель в QTableView. Тут с быстродействием вывода данных все устраивает. Но нужно производить фильтрацию данных, т.е. поиск по критерию(фильтру), таблица имеет 12 полей по которым производится поиск. Попробовал реализовать фильтрацию сразу при чтении, но слишком громоздкий код получается и не рациональный. Удобнее, как мне кажется, заполнить базу данных, а потом производить разные действия с ней фильтруя запросами или QSqlTableModel. Для проверки БД QSQLITE заполняется ну очень медленно ~50000 записей пишутся несколько минут(!), но меня даже одна минута не устраивает. Опыта работы с базами данных у меня мало, потому прошу подсказать какие есть варианты ускорить процесс записи данных? Может все дело в использовании драйвера БД или есть какие-либо методы оптимизации?
|