crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

3 страниц V  < 1 2 3  
Ответить в данную темуНачать новую тему
> Скорость работы БД в приложении
AD
  опции профиля:
сообщение 3.4.2011, 12:59
Сообщение #21


Профессионал
*****

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

Спасибо сказали: 70 раз(а)




Репутация:   17  


Цитата(Iron Bug @ 2.4.2011, 18:16) *
я не раз сталкивалась с SQLite, на предыдущей работе мы тоже её использовали. проблем не было и всё работало. это отличная база для локального использования. лёгкая и быстрая. но мы использовали их родной API, без всяких там оболочек. у них очень простые API-функции и освоение занимает от силы пару дней. я не могу сказать, почему что-то не срабатывало у других, но это точно не проблема SQLite. коммиты и транзакции там работают, как и всё прочее.

Наверное поэтому вопрос данный помимо SQLite затрагивает и Qt. Он потому и задан в разделе Qt. В данном топике меня интересует из-за чего возможны проблемы со скоростью при вставках в таблицы? данная проблема существует при работе с Paradox. Предполагаю, что скорость при работе с SQLite будет не много выше.

Сообщение отредактировал AD - 3.4.2011, 13:05
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Iron Bug
  опции профиля:
сообщение 4.4.2011, 19:16
Сообщение #22


Профессионал
*****

Группа: Модератор
Сообщений: 1609
Регистрация: 6.2.2009
Из: Yekaterinburg
Пользователь №: 533

Спасибо сказали: 219 раз(а)




Репутация:   12  


это в любом случае наздоровые задержки.
может, у тебя база такая кривая или запрос? какой-нибудь индекс поставлен на огромное бинарное поле, например? и он считается долго. или что-то подобное.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AD
  опции профиля:
сообщение 5.4.2011, 8:32
Сообщение #23


Профессионал
*****

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

Спасибо сказали: 70 раз(а)




Репутация:   17  


Цитата(Iron Bug @ 4.4.2011, 20:16) *
это в любом случае наздоровые задержки.

Согласен. Задержки безумно большие. Это неудобно.

Цитата(Iron Bug @ 4.4.2011, 20:16) *
может, у тебя база такая кривая или запрос? какой-нибудь индекс поставлен на огромное бинарное поле, например? и он считается долго. или что-то подобное.

Да вряд ли БД кривая. Схему БД придумал человек, у которого уже есть подобный опыт, в принципе. Индексов вообще нет. Поля, как правило, или строковые, или целочисленные, или вещественные (типа double). Одна табличка содержит поля данных BLOB для хранения картинок, но ее я пока даже не заполнял.
Запросы все подобного плана:
upd_query.prepare("update ScriptLayer set LayerNameId = ? where ScriptItemId = ?");
ins_query.prepare("insert into ScriptLayer(ScriptItemId, LayerNameId) values(?, ?)");
sel_query.prepare(QString("select LayerNameId from ScriptLayer where ScriptItemId = %1 "
                        "and LayerNameId = -1").arg(script_row_index));
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Iron Bug
  опции профиля:
сообщение 5.4.2011, 17:52
Сообщение #24


Профессионал
*****

Группа: Модератор
Сообщений: 1609
Регистрация: 6.2.2009
Из: Yekaterinburg
Пользователь №: 533

Спасибо сказали: 219 раз(а)




Репутация:   12  


ну, на вид вроде вообще примитив, совершенно ничего особенного. вероятно, есть какие-то тонкости в интерфейсе со стороны Qt. может, тормозит графика, если она навешана на запрос (отрисовки гридов и т.п.)
вообще, базы имеют т.н. синхронизацию: когда при каждом чтении база проверяется на то, что у неё сохранены все последние изменения. это нужно в случае, когда два приложения пишут в базу или когда обязательно считывать прямо самое последнее состояние базы каждый раз. если это не требуется, то это можно отключить и обычно работает быстрее, но я не в курсе, есть ли синхронизация у Paradox'а.
но если база небольшая, то даже с синхронизацией так тормозить не должно. это какие-то запредельные тормоза. может, проблемы с потоками? никто не блокирует ресурсы во время обращения к базе?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

3 страниц V  < 1 2 3
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 6.12.2021, 1:41