私はAndroidアプリでSQL選択クエリを使用しましたが、これはAndroidの新しいバージョンで正常に動作します。つまり、Samsung Galaxyタブ(Android 4.0.3)ではsqliteデータベースからデータを取得するのに30〜40秒かかりますが、古いバージョンのAndroid 2.3を搭載したデバイスではデータの取得には 18 分かかります。「x_unitperson.UNITSEQによる注文」を削除すると、Android 2.3でパフォーマンスが低下しません。order by句を削除せずにAndroid 2.3でパフォーマンスを向上させるにはどうすればよいですか。
私のSQLは次のとおりです。
SELECT PERSON_ID,
       COMMANDER,
       CITIZEN,
       RANK,
       GIVEN,
       SURNAME,
       ISOR,
  (SELECT GROUP_CONCAT(NAME_SHORT, '\n')
   FROM units
   INNER JOIN
     (SELECT *
      FROM x_unitperson
      WHERE PERSON_ID = people.PERSON_ID
      ORDER BY x_unitperson.UNITSEQ) AS xunits
   WHERE units.UNIT_ID = xunits.UNIT_ID) AS NAME_SHORT,
  (SELECT FNAME
   FROM photos
   WHERE PERSON_ID = People.PERSON_ID) AS FNAME
FROM people
ORDER BY SURNAME,
         GIVEN