sqlite数据查询速度慢的可能原因

前端之家收集整理的这篇文章主要介绍了sqlite数据查询速度慢的可能原因前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

1.返回数据库字段信息与要查询数据库的数据字段不一致:

如下例:返回的字段少个IMGURL

String where = String::format("%s='%s'",AppBean::APPID().string(),appid.string());
DbResolver* p = DbResolver::getInstance();
if (p != NULL) {
StringArray pro(2);
pro.replaceAt(AppBean::PACKAGENAME(),0);
pro.replaceAt(AppBean::APPNAME(),1);
AutoCursor cursor = p->query(AppBean::DOWNLOAD_TABLE_NAME(),pro,where,StringArray(0),"");
if (cursor->moveToFirst()) {
String pkg = cursor->getString(cursor->getColumnIndex(AppBean::PACKAGENAME()));
String appname = cursor->getString(cursor->getColumnIndex(AppBean::APPNAME()));
String imageUrl = cursor->getString(cursor->getColumnIndex(AppBean::IMGURL()));
Demand d = NotificationDelegate::createDemand(appname,pkg,imageUrl,"",NotificationDelegate::STATUS_WAITDOWNLOAD,NotificationDelegate::PARAM_CANCEL);
mpContext->invokeDelegate(&d);
}

}


正确方式应为:
String where = String::format("%s='%s'",appid.string());
DbResolver* p = DbResolver::getInstance();
if (p != NULL) {
StringArray pro(3);
pro.replaceAt(AppBean::PACKAGENAME(),1);
pro.replaceAt(AppBean::IMGURL(),2);
AutoCursor cursor = p->query(AppBean::DOWNLOAD_TABLE_NAME(),"");
if (cursor->moveToFirst()) {
String pkg = cursor->getString(cursor->getColumnIndex(AppBean::PACKAGENAME()));
String appname = cursor->getString(cursor->getColumnIndex(AppBean::APPNAME()));
String imageUrl = cursor->getString(cursor->getColumnIndex(AppBean::IMGURL()));
Demand d = NotificationDelegate::createDemand(appname,NotificationDelegate::PARAM_CANCEL);
mpContext->invokeDelegate(&d);
}

}

猜你在找的Sqlite相关文章