![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
Tonal |
![]()
Сообщение
#11
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 452 Регистрация: 6.12.2007 Из: Новосибирск Пользователь №: 34 Спасибо сказали: 69 раз(а) Репутация: ![]() ![]() ![]() |
trdm, транзакция не ускоряет процесс, она лишь делает его атомарным Действительно так, но если ты явно не стартуешь транзакцию, то Qt её стартует на каждый запрос. А старт и окончание транзакции может занять довольно много времени (в зависимости от типа движка). ![]() |
|
|
SABROG |
![]()
Сообщение
#12
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: ![]() ![]() ![]() |
СУБД SQLite 3. На тему скоростей sqlite было несколько статей в интернете с рекомендациями. Можно добавить следующие опции SQL запросом:
На самом деле page_size зависит от операционной системы/файловой системы. Для винды одно значение оптимальное, для *nix'ов другое. В общем погугли на тему этих комманд. Еще обращу внимание на такие методы (псевдокод):
Т.е. в QSqlQuery можно передавать сразу целые списки для каждого объявленного поля, драйвер сформирует сам запросы. Сообщение отредактировал SABROG - 17.2.2009, 9:57 |
|
|
Rocky |
![]()
Сообщение
#13
|
Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 530 Регистрация: 22.12.2008 Из: Санкт-Петербург Пользователь №: 463 Спасибо сказали: 22 раз(а) Репутация: ![]() ![]() ![]() |
Ххе, ясно. SABROG, спасибо, погуглю..
Я тут добавил транзакции, я в шоке ![]() ![]() Эх, осталось разобраться только почему программно не удается менять значения в базе... (( Вобщем, всем большое спасибо! ![]() |
|
|
Константин |
![]()
Сообщение
#14
|
![]() Студент ![]() Группа: Участник Сообщений: 69 Регистрация: 9.2.2009 Пользователь №: 539 Спасибо сказали: 15 раз(а) Репутация: ![]() ![]() ![]() |
повышай SABROG-а за это.
Сообщение отредактировал Константин - 17.2.2009, 12:33 |
|
|
Litkevich Yuriy |
![]()
Сообщение
#15
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
trdm |
![]()
Сообщение
#16
|
Дмитрий Трошин ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 575 Регистрация: 12.1.2008 Пользователь №: 68 Спасибо сказали: 21 раз(а) Репутация: ![]() ![]() ![]() |
а я что
![]() ![]() ![]() нас тупых 1С-ников нихто не любит )))) Сообщение отредактировал trdm - 17.2.2009, 17:45 |
|
|
Rocky |
![]()
Сообщение
#17
|
Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 530 Регистрация: 22.12.2008 Из: Санкт-Петербург Пользователь №: 463 Спасибо сказали: 22 раз(а) Репутация: ![]() ![]() ![]() |
Упс, сорри
![]() ![]() |
|
|
trdm |
![]()
Сообщение
#18
|
Дмитрий Трошин ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 575 Регистрация: 12.1.2008 Пользователь №: 68 Спасибо сказали: 21 раз(а) Репутация: ![]() ![]() ![]() |
блин, пошутить нельзя без последствий
![]() Спасибо. |
|
|
Rocky |
![]()
Сообщение
#19
|
Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 530 Регистрация: 22.12.2008 Из: Санкт-Петербург Пользователь №: 463 Спасибо сказали: 22 раз(а) Репутация: ![]() ![]() ![]() |
![]() По-поводу транзакций... Ув. форумчане, не подскажите вот при навигации по таблице БД, нужно их использовать? Или они толку не дадут?
Или транзакции важны именно при вставке/удалении/обновлении базы данных? |
|
|
SABROG |
![]()
Сообщение
#20
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: ![]() ![]() ![]() |
Только для изменения таблиц.
Если не устраивает скорость выборки, то рекомендую создать индексы по полям. Здорово увеличивает скорость. Индексы обычно создаются по полям, которые участвуют в "order by". Если SQL запрос статичный в принципе, то можно сделать вьюху (create view). Выборку можно будет вызывать например так "select myview" (если память не отшибает). Индексы создаются так:
|
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 4.7.2025, 2:57 |