android – sqlite表中的最大行数?

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.所以,我把他们分开了,没有更多的问题.谢谢大家.

解决方法

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

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

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

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

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

因为这可以真正实现improve the performance的大型批量插件.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...