iOS 5 の SQLite に奇妙な問題があります。
iOS アプリケーションには、かなり大きなテーブル (1 000 000 + レコード) があります。テーブルから約 20,000 レコードを取得するための簡単なクエリがあり、ORDER BY ステートメントを使用して結果を並べ替えています。このようなもの:
SELECT table2Field,table3Field,table4Field,table5Field,probability,impact
FROM table1
INNER JOIN table2 ON id2=table1_id2
INNER JOIN table3 ON id3=table1_id3
INNER JOIN table4 ON id4=table1_id4
INNER JOIN table5 ON id5=table1_id5
WHERE country_id = 0 AND category_id = 0
ORDER BY table2Field, table3Field, table4Field, ABS(impact) DESC
iOS 4 では、これは約 2 ~ 3 秒で機能します。ただし、iOS 5 では、1 分以上動作します。この問題の根本原因を特定しようとしましたが、成功しませんでした。興味深い事実は、クエリから ORDER BY ステートメントを削除すると、すべて正常に機能することです。
データを手動でソートするよりも良い解決策はありますか?
ありがとう、アルテム。