我的res/raw
目录中有一个CSV文件需要上传到Android中的SQLite数据库。其他几个相关问题,但我的问题主要与SQL有关。
Fastest and most efficient way to pre-populate database in Android他们将交易包裹在beginTransaction
和endTransaction
或BEGIN; ... COMMIT;中。我的问题是两者之间的关系。
在引用的问题中,他们对CSV文件中的每一行使用INSERT INTO [table] ([columns]) VALUES ([values]);
。我在Postgres上长大,你可以在同一个SQL语句中上传多行。显然你也可以根据Is it possible to insert multiple rows at a time in an SQLite database?在SQLite中做到这一点。
INSERT INTO 'tablename'
SELECT 'data1' AS 'column1', 'data2' AS 'column2'
UNION SELECT 'data3', 'data4'
UNION SELECT 'data5', 'data6'
UNION SELECT 'data7', 'data8'
在一个交易中包装是给定的。问题是,上述两个SQL语句之间是否存在重大的性能差异?
谢谢!