SQLite
 sql >> Datenbank >  >> RDS >> SQLite

Android SQLite:Wie generiert man eine große Tabelle zu Testzwecken?

Sie müssen beim Schreiben in eine SQLite-Datenbank Transaktionen verwenden, da sonst die Daten für jede Einfügung beibehalten werden, dh sie auf SD speichern, was "für immer" dauert.

lassen Sie beispielsweise insertProduct eine Liste von Produkten nehmen und sie in einer Transaktion speichern:

private void insertProducts(List<Product> products) {
    try {
        db.beginTransaction();
        for(Product product : products) {
            insertProduct(...);
        }
        db.setTransactionSuccessful();
    } finally {
        db.endTransaction();
    }
}

So können Sie es in Ihren bestehenden Code implementieren:

private void insertDemoProducts() {
    SQLiteDatabase sqlDB = database.getWritableDatabase();
    try {
        sqlDB.beginTransaction();
        for (int i = 1; i <= 100000; ++i) {
            String id = Integer.toString(i);
            insertProduct(id, "Test product " + id, "100", "75.50", "70.27");
        }
        sqlDB.setTransactionSuccessful();
    } finally {
        sqlDB.endTransaction();
    }
}