crossplatform.ru

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

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


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

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

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




Репутация:   17  


Для более быстрого создания файла топографической библиотеки (бинарный файл, в котором хранится содержимое нескольких (многих) карт) определенного формата решено было использовать в качестве промежуточного варианта хранения данных БД. Проблема состоит в том, что после реализации этого подхода выяснилось, что вставка, изменение и выборка из таблиц СУЩЕСТВЕННО замедляет задачу, а не ускоряет ее. Как можно решить данную проблему? Заранее спасибо за подсказку! Как только я комментирую строчки, делающие выборку и внесение данных в таблицы - тут же скорость работы возрастает в разы.

Сообщение отредактировал AD - 18.3.2011, 10:39
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
abc
  опции профиля:
сообщение 18.3.2011, 11:06
Сообщение #2


Участник
**

Группа: Участник
Сообщений: 221
Регистрация: 16.12.2010
Из: СПб
Пользователь №: 2272

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




Репутация:   4  


субды быстро работают, сами запросы должны быть, в общем, мгновенны.
или я не сталкивался с гигантским количеством данных.. у тебя гигантское?)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AD
  опции профиля:
сообщение 18.3.2011, 11:12
Сообщение #3


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

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

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




Репутация:   17  


Цитата(abc @ 18.3.2011, 11:06) *
субды быстро работают, сами запросы должны быть, в общем, мгновенны.
или я не сталкивался с гигантским количеством данных.. у тебя гигантское?)

Десятки тысяч, возможно и сотни. Может быть из-за того, что использую Paradox? Если перейти на QSQL-Lite будет лучше?

Сообщение отредактировал AD - 18.3.2011, 11:12
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
abc
  опции профиля:
сообщение 18.3.2011, 13:17
Сообщение #4


Участник
**

Группа: Участник
Сообщений: 221
Регистрация: 16.12.2010
Из: СПб
Пользователь №: 2272

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




Репутация:   4  


не знаю, я работаю с PostgreSql
я не работал с таким количеством строк
но, скажем, выборку из таблицы ты можешь задать сложную, где надо будет просмотреть все строки, сравнить тексты.. что-нибудь в этому духе. но вставка и изменение (поиск по уникальному ключу?) медленной быть не должна. кстати, медленно это сколько?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AD
  опции профиля:
сообщение 18.3.2011, 14:03
Сообщение #5


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

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

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




Репутация:   17  


Цитата(abc @ 18.3.2011, 13:17) *
не знаю, я работаю с PostgreSql
я не работал с таким количеством строк

В другом приложении я работал с Microsoft Sql Server. Никаких проблем не было. Тоже было немало строчек.


Цитата(abc @ 18.3.2011, 13:17) *
медленной быть не должна. кстати, медленно это сколько?

Да блин, у меня уже вставка в таблицы идет 2.5 часа. Это ненормально.
Запросы выборки не очень-то и сложные. Выбираем id из одной таблицы, по этим id выбираем что-то из другой таблицы и тому подобные.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
abc
  опции профиля:
сообщение 18.3.2011, 14:28
Сообщение #6


Участник
**

Группа: Участник
Сообщений: 221
Регистрация: 16.12.2010
Из: СПб
Пользователь №: 2272

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




Репутация:   4  


это стопудовый нонсенс. а почему взялся за Paradox? вроде бы не очень популярная штука
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AD
  опции профиля:
сообщение 18.3.2011, 14:42
Сообщение #7


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

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

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




Репутация:   17  


Цитата(abc @ 18.3.2011, 14:28) *
это стопудовый нонсенс. а почему взялся за Paradox? вроде бы не очень популярная штука

Да сказали, что желательно его использовать. Ладно, сейчас попробую перейти на SQLite. Надеюсь, такой шизни не будет.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Kagami
  опции профиля:
сообщение 18.3.2011, 17:45
Сообщение #8


Старейший участник
****

Группа: Участник
Сообщений: 601
Регистрация: 2.2.2009
Пользователь №: 523

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




Репутация:   9  


Иногда работу СУБД сильно заменяют транзакции - с тем же SQLite они выполняются для каждой операции автоматически. Часто можно сильно ускорить работу если начинать транзакции вручную и завершать после выполнения всех (ну или части, если их можно сгруппировать логически) операций.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AD
  опции профиля:
сообщение 18.3.2011, 17:54
Сообщение #9


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

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

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




Репутация:   17  


Цитата(Kagami @ 18.3.2011, 17:45) *
Иногда работу СУБД сильно заменяют транзакции - с тем же SQLite они выполняются для каждой операции автоматически. Часто можно сильно ускорить работу если начинать транзакции вручную и завершать после выполнения всех (ну или части, если их можно сгруппировать логически) операций.

Замедляют в смысле?
А как к примеру это сделать, т.е. запускать и завершать транзакции вручную?

Да читаю ассистент. Возник такой вопрос - могу использовать QSqlTableModel при работе с QSQLite?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
abc
  опции профиля:
сообщение 18.3.2011, 20:51
Сообщение #10


Участник
**

Группа: Участник
Сообщений: 221
Регистрация: 16.12.2010
Из: СПб
Пользователь №: 2272

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




Репутация:   4  


можешь, почему нет
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




RSS Текстовая версия Сейчас: 19.8.2019, 4:52