使用SQLite的Marshmallow绑定数据需要花费太多时间

时间:2016-09-15 07:16:45

标签: android sqlite android-6.0-marshmallow

我创建了一个包含25多个表的数据库,并且自从过去两年以来一直运行正常。

最近我使用 Marshmallow 的构建版本升级了我的应用。

升级后,Marshmallow设备在执行查询后需要花费太多时间来绑定数据。

我正在调用查询:

productCursor = dbHelper.getProduct(brandId, categoryId, searchString, isSortCategoryWise, nextItems);

通过调用此方法,它可以快速打印日志,但在花费太多时间后返回值。

我的查询是:

"SELECT " +
"p." + PRODUCT_ID + ", " +
"p." + PRODUCT_SERVER_ID + ", " +
"p." + PRODUCT_CODE + ", " +
"p." + PRODUCT_NAME + ", " +
"p." + PRODUCT_DESCRIPTION + ", " +
"p." + PRODUCT_RATE + ", " +
"p." + PRODUCT_DISCOUNT + ", " +
"p." + PRODUCT_BUNDLE_QTY + ", " +
"p." + PRODUCT_STOCK + ", " +
"p." + PRODUCT_OFFER_DISCOUNT + ", " +
"p." + PRODUCT_IS_NEW + ", " +
"(SELECT " +
" pi." + PRODUCT_IMAGE_URL +
" FROM " + TABLE_PRODUCT_IMAGE + " pi " +
" WHERE pi." + PRODUCT_IMAGE_BIT + "=1 AND pi." + PRODUCT_IMAGE_PRODUCT_ID
+ "=p." + PRODUCT_SERVER_ID +
") url " +
" FROM " + TABLE_PRODUCT + " p " +
" INNER JOIN " + TABLE_PRODUCT_TO_CAT + " ptc ON p." + PRODUCT_SERVER_ID
+ "=ptc." + PRODUCT_TO_CATEGORY_PRODUCT_ID + " AND ptc.status=0 " +
innerJoin +
" WHERE " +
"p." + PRODUCT_STATUS + "=0 AND " +
"ptc." + PRODUCT_TO_CATEGORY_CATEGORY_ID + "=? ORDER BY " + orderBy,
new String[] { Integer.toString(category_id) });

我认为这不是查询中的问题,因为它与低级设备的工作正常而不是MarshMallow。

Marshmallow和SQLite有什么问题吗?

任何人都遇到这个问题,请帮忙。 :)

提前感谢感谢。

1 个答案:

答案 0 :(得分:-2)

我认为mySql比这更容易。如果你使用mySql也许你不会遇到问题我检查代码但没有错误使用mySql ...