私は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