CoreData:相同查询的执行时间不同

时间:2019-01-16 09:26:07

标签: swift core-data sqlite

我正在使用CoreData在具有35个属性(所有字符串)的表中存储约250.000行数据,这时没有一个被索引。当我在没有其他应用程序运行的情况下启动该应用程序并执行以下查询时,多次启动的提取执行时间会有所不同。

1)CoreData: sql: SELECT t0.ZBP_Q, COUNT( t0.ZNOF_LAY) FROM ZVEH t0 GROUP BY t0.ZBP_Q CoreData: annotation: sql connection fetch time: 0.4265s CoreData: annotation: total fetch execution time: 0.4266s for 15 rows.

2)CoreData: sql: SELECT t0.ZBP_Q, COUNT( t0.ZNOF_LAY) FROM ZVEH t0 GROUP BY t0.ZBP_Q CoreData: annotation: sql connection fetch time: 9.9614s CoreData: annotation: total fetch execution time: 9.9615s for 15 rows.

首先,0.4266s似乎需要15行很长时间,不是吗?但是,为什么在完全相同的条件下再次启动完全相同的查询,应用程序大约需要10秒钟呢? 我如何确保每次发射的时间为0.4266秒? 似乎该应用程序随机花费了很长时间或相当快(我对0.4266秒表示满意)。

0 个答案:

没有答案