繁体   English   中英

sqlite表中的最大行数?

[英]Maximum number of rows in a sqlite table?

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

这是我创建表的地方

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

解决了 !!! 我只是想知道为什么我遇到这个问题。 因为我使用Data创建和填充sql数据库的文件,不能超过1.2mb。 所以,我把他们分开了,没有更多的问题。 谢谢大家。

您可以获得有关SQLite限制的标准信息,但这不会导致您的问题,因为限制实际上非常高。 (2到64的力量!)

您的问题很可能与您的应用程序插入记录和/或插入的记录类型有关。

你可以发布一些应用程序的代码以及它如何处理插入? 阅读完之后我可以修改我的答案。

作为补充提示,请确保您已设置:

Cursor myCursor = db.rawQuery("PRAGMA synchronous=OFF", null); 
myCursor.close();

因为这可以真正改善较大的批量插件的性能

表中的最大行数

表中的理论最大行数是2 ^ 64(18446744073709551616或大约1.8e + 19)。 此限制无法访问,因为将首先达到14 TB的最大数据库大小。 一个14 TB的数据库可以容纳不超过大约1e + 13行,然后只有当没有索引且每行包含非常少的数据时。

从这里: http//www.sqlite.org/limits.html

没有这样的限制,见下文:

它说:

表中的最大行数

表中的理论最大行数为264(18446744073709551616或约1.8e + 19)。 此限制无法访问,因为将首先达到14 TB的最大数据库大小。 一个14 TB的数据库可以容纳不超过大约1e + 13行,然后只有当没有索引且每行包含非常少的数据时。

最大行数为2 ^ 64。

这是限制页面

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM