Domyślna kon­fi­gu­ra­cja SQLite każe mu syn­chro­ni­zo­wać plik bazy po każ­dej ope­ra­cji. W środo­wi­skach testo­wych nie musimy się mar­twić o spój­ność danych w wypadku awa­rii, poni­żej zamiesz­czam więc bac­kend pozba­wiony zbęd­nego narzutu:

from django.db.backends.sqlite3.base import (
    DatabaseWrapper as Sqlite3Wrapper,
    DatabaseError,
    IntegrityError,
    DatabaseFeatures,
    DatabaseOperations,
)

class DatabaseWrapper(Sqlite3Wrapper):
    def _cursor(self):
        new_conn = self.connection is None
        cursor = super(DatabaseWrapper, self)._cursor()
        if new_conn:
            cursor.execute('PRAGMA synchronous=OFF')
        return cursor

W przy­padku pro­jektu, nad któ­rym wła­śnie pra­cu­jemy, czas prze­bu­do­wa­nia bazy od nowa na par­ty­cji XFS spadł z pół­to­rej minuty do pię­ciu sekund.