fil*_*oli 8 sqlite android limit
sql lite表是否有一些行限制?我的应用程序在该表有超过6000行时给出错误"没有这样的表x ...".低于6000行,不要给出任何错误.
谢谢.
这是查询.
db = (new DatabaseHelper(this)).getWritableDatabase();
cursor = db.rawQuery("SELECT continentes._id, continentes.ContinenteID, continentes.Continente"
+ " FROM continentes"
+ " WHERE continentes.Continente LIKE ?"
+ " GROUP BY continentes.ContinenteID, continentes.Continente ORDER BY continentes.Continente",
new String[]{"%" + searchText.getText().toString() + "%"});
Run Code Online (Sandbox Code Playgroud)
这是我创建表的地方
@Override
public void onCreate(SQLiteDatabase db) {
String s;
try {
Toast.makeText(context, "Creating Database", 2000).show();
InputStream in = context.getResources().openRawResource(R.raw.continentes);
DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
Document doc = builder.parse(in, null);
NodeList statements = doc.getElementsByTagName("statement");
for (int i=0; i<statements.getLength(); i++) {
s = statements.item(i).getChildNodes().item(0).getNodeValue();
db.execSQL(s);
}
} catch (Throwable t) {
Toast.makeText(context, t.toString(), 50000).show();
Run Code Online (Sandbox Code Playgroud)
解决了 !!!我只是想知道为什么我遇到这个问题.因为我使用Data创建和填充sql数据库的文件,不能超过1.2mb.所以,我把他们分开了,没有更多的问题.谢谢大家.
您可以获得有关SQLite限制的标准信息,但这不会导致您的问题,因为限制实际上非常高.(2到64的力量!)
您的问题很可能与您的应用程序插入记录和/或插入的记录类型有关.
你可以发布一些应用程序的代码以及它如何处理插入?阅读完之后我可以修改我的答案.
作为补充提示,请确保您已设置:
Cursor myCursor = db.rawQuery("PRAGMA synchronous=OFF", null);
myCursor.close();
Run Code Online (Sandbox Code Playgroud)
表中的最大行数
表中的理论最大行数是2 ^ 64(18446744073709551616或大约1.8e + 19).此限制无法访问,因为将首先达到14 TB的最大数据库大小.一个14 TB的数据库可以容纳不超过大约1e + 13行,然后只有当没有索引且每行包含非常少的数据时.
从这里:http://www.sqlite.org/limits.html
| 归档时间: |
|
| 查看次数: |
11850 次 |
| 最近记录: |