Найти - Пользователи
Полная версия: sqlite тормоза
Начало » Django » sqlite тормоза
1 2
despair4
данный код:

def add_pilots_corps_to_db(kills_data):
    for i in reversed(kills_data):
        if int(i["victim"]["characterID"]) and int(i["victim"]["corporationID"]):
            c=corp(id=i["victim"]["corporationID"],
                 name=i["victim"]["corporationName"])
            c.save()
            pilot(id=i["victim"]["characterID"],
                  name=i["victim"]["characterName"],
                  corp=c).save()

в тестах выполняется мгновенно, но как только я запускаю его на сервере, начинаются тормоза в 15 секунд из-за обращений к винту

как его завернуть в транзакцию, чтобы отменить многократные обращения к винту?
FishHook
Вот так вот
despair4
FishHook
Вот так вот

сорри не понял как этим пользоваться

дописал код так:

from django.db import transaction

@transaction.atomic
def add_pilots_corps_to_db(kills_data):
...
вроде винт перестало дербанить по 10-15 сек
FishHook
>>>сорри не понял как этим пользоваться
и что конкретно не понял?
despair4
FishHook
и что конкретно не понял?

как в балк засунуть сразу 2 модели

FishHook
Две модели = два балка. Сначала накопите список, а потом его разом балк_криэйт, вместо того чтобы в цикле криэйтить каждую отдельную запись. Или у вас там апдейт?
Rusich
Тему надо назвать не “тормоза sqllite”, а “моя криворукость и незнания”
despair4
FishHook
Или у вас там апдейт?

если нет записи то создание, если уже есть запись с этим идентификатором то апдейт
FishHook
despair4
если нет записи то создание, если уже есть запись с этим идентификатором то апдейт
И каким образом, по вашему, джанга это разруливает?
despair4
ну наверное читает таблицу, потом определяется добавлять или апдейтить
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB