Я использую CoreData для хранения около 250 000 строк данных в таблице с 35 атрибутами (все строки), в настоящее время ни одна из них не проиндексирована. Когда я запускаю приложение без других запущенных приложений и выполняю следующий запрос, время выполнения выборки отличается для нескольких запусков.
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 секундами).