/ / Bulk Aggiorna tutte le righe sqlite: sql, database, sqlite, amministrazione database

Bulk Aggiorna tutte le righe sqlite - sql, database, sqlite, amministrazione del database

Sono nuovo di Sqlite e ho un database da 15 GB. Devo aggiornare tutte le righe nella colonna "nome file" in 2 delle tabelle in modo tale che il nome file venga troncato. La tabella 1 ha 50.000 righe e la tabella 2 ha 25 milioni di righe.

Conosco il comando update per sqlite ma voglio scoprire se è consigliabile utilizzarlo in termini di tempo e cose che potrebbero andare storte.
Ho intenzione di usare questi comandi:

UPDATE users SET filename=substr(filename,15)
UPDATE people SET filename=substr(filename,15)

In particolare:

  1. Quanto ci vorrà?
  2. Il mio computer dovrebbe avere una configurazione minima per funzionare bene?
  3. C'è un modo per annullare il mio aggiornamento in caso di problemi
    orribilmente sbagliato come il controllo della versione?
  4. Esistono modi migliori per modificare tutte le righe in un database sqlite?

Grazie mille!

risposte:

0 per risposta № 1

Riscrivere tutto richiederà molto tempo.

Non è necessaria molta memoria (sebbene più aiuti per la memorizzazione nella cache), ma è necessario spazio su disco sufficiente per i dati vecchi e nuovi.

Per impostazione predefinita, SQLite utilizza transazioni automatiche,che impedisce modifiche parziali quando alcune istruzioni sono interrotte nel mezzo, ma si impegnano alla fine di ogni istruzione. Per essere in grado di controllare le modifiche e di eseguirne il commit o il rollback in un secondo momento, utilizzare un transazione esplicita.