QSqlQuery и работа с большим кол-вом данных, тормоза записи |
Здравствуйте, гость ( Вход | Регистрация )
QSqlQuery и работа с большим кол-вом данных, тормоза записи |
JuryS1806 |
28.6.2010, 23:34
Сообщение
#1
|
Студент Группа: Участник Сообщений: 93 Регистрация: 21.10.2009 Из: Нижний Новгород Пользователь №: 1168 Спасибо сказали: 9 раз(а) Репутация: 0 |
Доброго времени суток!
Имею следующий код при работе с SQLITE:
Все работает, все здорово, но только после выполнения пары тысяч строк, происходит бурная работа на жестком диске. Т.е. насколько я понимаю, при выполнении любого SQL запроса, qt записывает базу данных на диск. А в связи с тем что таких запросов несколько тысяч то и записывает он множество раз. Так вот, хотел спросить, что в этой ситуации можно улучшить. Записать файл сначала в память, а потом уже на диск, как вариант создать раздел в памяти или все таки есть более простой способ ??? Спасибо заранее за помощь ! |
|
|
panter_dsd |
29.6.2010, 6:23
Сообщение
#2
|
Жаждущий знаний Группа: Участник Сообщений: 254 Регистрация: 1.1.2009 Из: Санкт-Петербург Пользователь №: 474 Спасибо сказали: 32 раз(а) Репутация: 3 |
Еще используй prepare и bindValue. Это тоже ускорит запросы.
|
|
|
JuryS1806 |
29.6.2010, 20:09
Сообщение
#3
|
Студент Группа: Участник Сообщений: 93 Регистрация: 21.10.2009 Из: Нижний Новгород Пользователь №: 1168 Спасибо сказали: 9 раз(а) Репутация: 0 |
Вообще, приятно удивлен скоростью работы с базой данных при использовании транзакций. К примеру раньше я использовал DBASE IV для своей программы, один файл - одна таблица. Но после sqlite3 я вообще изменил свое мнение о qt в лучшую сторону !
Единственный минус, тормоза при использовании QTableWidget медленно перелистывает, все окна плавают, как будто он грузит машину. Где-то раньше читал, что его ускоряют при отключении каких-то примечек.... Но не могу ничего пока придумать. К примеру, сейчас я использую так:
но задание этих свойств ничего не дает. Даже не знаю, что можно отключить, чтобы она забегала. |
|
|
Текстовая версия | Сейчас: 2.12.2024, 13:39 |