Просто почему то в первый раз быстро выполнилось а дальше медленно выполняется.
Понятно что одно соединение к базе значит одна транзакция.
Но я хочу открывать транзакцию скажем в цикле и там же закрывать,а это значит сколько угодно можно транзакций создавать в одном соединении к базе.
То есть складываем инсерты после обычного запроса select.
и потом условие если собрали в счетчике 10к инсертов:
то открываем транзакцию и выполняем все инсерты, коммитим и потом снова складываем 10к инсертов и снова входим в цикл для создания транзакции и выполнения.
#несколько раз выполняем транзакцию.В первый раз отработало в 2-3сек а второй в 1мин #странно.Количество инсертов одинаковое ведь. #до транзакции еще обычный запрос q2 = QtSql.QSqlQuery( SOED2 ) q2.exec("select бла бла бла ") ... if (len(sp) != 0 and i==10000) or (len(sp) != 0 and q1.isValid() == False): SOED2.transaction() q2 = QtSql.QSqlQuery( SOED2 ) q2.exec("PRAGMA synchronous = OFF") q2.exec("PRAGMA journal_mode = OFF") for w in range(0,len(sp)): q2.exec(sp[w]) continue SOED2.commit() i = 0