【发布时间】:2022-01-27 13:38:39
【问题描述】:
IDbConnection dbConnection = new SqliteConnection(GetDBFilePath())
dbConnection.Open();
IDbCommand dbCommand = dbConnection.CreateCommand();
dbCommand.CommandText = "select count(*) from dataTable";
IDataReader dbReader = dbCommand.ExecuteReader();
dbReader.Read();
我统一使用 sqlite3。 表上有超过 1,000,000 列。 我要选择分贝。
这就是问题出现的地方。 如果要查询的列数过多,“ExecuteReader”将不会被执行。
SqliteException: Some kind of disk I/O error occurred
disk I/O error
at Mono.Data.Sqlite.SQLite3.Reset (Mono.Data.Sqlite.SqliteStatement stmt) [0x00000] in <00000000000000000000000000000000>:0
at Mono.Data.Sqlite.SQLite3.Step (Mono.Data.Sqlite.SqliteStatement stmt) [0x00000] in <00000000000000000000000000000000>:0
at Mono.Data.Sqlite.SqliteDataReader.NextResult () [0x00000] in <00000000000000000000000000000000>:0
at Mono.Data.Sqlite.SqliteCommand.ExecuteReader (System.Data.CommandBehavior behavior) [0x00000] in <00000000000000000000000000000000>:0
at DBAccess+<DatabaseRead>d__24.MoveNext () [0x00000] in <00000000000000000000000000000000>:0
at UnityEngine.SetupCoroutine.InvokeMoveNext (System.Collections.IEnumerator enumerator, System.IntPtr returnValueAddress) [0x00000] in <00000000000000000000000000000000>:0
<DatabaseRead>d__24:MoveNext()
UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)
例如,在窗口中,可以执行更多的数字。 Android 的运行速度低于 Windows。
有什么办法可以解除对 IDataReader 中包含的列数的限制?
【问题讨论】:
-
一个表中的一百万个字段。哎哟
标签: android windows sqlite unity3d