1
我在考慮如何構建我的應用程序內的數據,其中最重要的查找將從一個位置集合(10,000多個位置)最近的位置,我是尋找最快和最有效的方式來做到這一點。快速/高效的方式來確定從集合最近的位置
想法,我有:
使用核心數據和存儲cllocations或雙打,與謂詞查詢由最靠近來引用位置
商店他們在SQLite數據庫,並使用距離公式在sql查詢中
將所有位置加載到內存中成某種數據結構(數組,鏈表,散列表等),並以不同的方式計算距離
在這些解決方案中,這將是最快/最有效的?還是有另一種解決方案,你會推薦?
檢查SQLite RTree是否可以提供幫助:https://sqlite.org/rtree.html –
這是速度和內存使用之間的折衷;哪個更高效取決於你的環境。 –
使用CoreData和SQLite後備存儲,不可能使用計算值對fetchRequest進行排序,因此您的(1)將很困難。您可以使用謂詞將數據過濾到給定框或半徑內的數據,然後在內存中排序以獲取最近的數據。 – pbasdf