![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
JuryS1806 |
![]()
Сообщение
#1
|
![]() Студент ![]() Группа: Участник Сообщений: 93 Регистрация: 21.10.2009 Из: Нижний Новгород Пользователь №: 1168 Спасибо сказали: 9 раз(а) Репутация: ![]() ![]() ![]() |
Доброго времени суток!
Имею следующий код при работе с SQLITE:
Все работает, все здорово, но только после выполнения пары тысяч строк, происходит бурная работа на жестком диске. Т.е. насколько я понимаю, при выполнении любого SQL запроса, qt записывает базу данных на диск. А в связи с тем что таких запросов несколько тысяч то и записывает он множество раз. Так вот, хотел спросить, что в этой ситуации можно улучшить. Записать файл сначала в память, а потом уже на диск, как вариант создать раздел в памяти или все таки есть более простой способ ??? Спасибо заранее за помощь ! ![]() |
|
|
![]() |
Litkevich Yuriy |
![]()
Сообщение
#2
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
если СУБД поддерживает подстановку (binding), то сама СУБД и занимается подстановкой. Если не поддерживает, то в недрах QtSql формируется явный запрос.
|
|
|
JuryS1806 |
![]()
Сообщение
#3
|
![]() Студент ![]() Группа: Участник Сообщений: 93 Регистрация: 21.10.2009 Из: Нижний Новгород Пользователь №: 1168 Спасибо сказали: 9 раз(а) Репутация: ![]() ![]() ![]() |
если СУБД поддерживает подстановку (binding), то сама СУБД и занимается подстановкой. Если не поддерживает, то в недрах QtSql формируется явный запрос. Это здорово. Почему на базе Qt нет готовых классов и решений для этих задач. Типа среды MS Access. А то так делать долго придется. Сначала соединится с базой, потом отработать транзакции, потом закрыть их, потом отключится от нее и т.д. И все отдельными классами делать, чтобы Qt не ругался..... Я к тому что долгий процесс и трудоемкий. Я сейчас попробовал все то же самое сделать в Access 2003 из под Wine. Работает быстрее чем Qt + SQLITE в 3 раза. Наверное Access использует как раз эти bindValues и все оптимизации, какие только есть. |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 16.7.2025, 18:07 |