我在 android 应用程序中使用了 sql select 查询,它在较新版本的 android 上运行良好,即三星 Galaxy 选项卡(android 4.0.3)上需要 30 到 40 秒才能从 sqlite 数据库中检索数据,但在旧版本 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