Android のカーソルは最大 1 MB のデータしか保持できないようです。
1 MB の制限を下回る SQLite データベースのテーブルから最大行数を取得する最も効率的な方法は何でしょうか?
Android のカーソルは最大 1 MB のデータしか保持できないようです。
1 MB の制限を下回る SQLite データベースのテーブルから最大行数を取得する最も効率的な方法は何でしょうか?
適切な制限を決定するための困難で迅速な方法はないと思いますが、CursorWindow のドキュメントを調べたところ、CharArrayBuffer には sizeCopiedcopyStringToBuffer (int row, int column, CharArrayBuffer buffer)
という整数フィールドがあり、メソッドcopyStringToBuffer
は指定された行と列のテキストを取得するため、有望であることがわかりました。バッファからサイズを取得し、行と列ごとに追加できますか? SQLiteCursor を使用している場合はsetWindow(CursorWindow window)
、独自のウィンドウを設定するために使用できます。
行が部分的にフェッチされるように、LIMIT 句を配置できます。