sql >> データベース >  >> RDS >> SQLite

Android SQLite:テスト目的で大きなテーブルを生成する方法は?

    sqliteデータベースに書き込むときにトランザクションを使用する必要があります。そうしないと、挿入ごとにデータが保持されます。つまり、「永久に」かかるsdに保存されます。

    たとえば、insertProductに商品のリストを取得させ、それらを1つのトランザクションに保存します。

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

    これは、既存のコードに実装する方法です:

    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();
        }
    }
    


    1. PostgreSQL 11:新機能

    2. MySQL-WHERE句でCOUNT(*)を使用

    3. hibernateでネイティブSQLを実行する

    4. ETLとELT:私たちは、あなたが判断する立場にあります