这是我现在的SQLite select语句:
SELECT shifts.*, bases.*, sites.*, students.students_first_name,
students.students_last_name, count(shifts.shifts_event_id) as count,
group_concat(shifts.shifts_student_id) as students_id_array,
group_concat(students.students_first_name) as students_first_names_array,
group_concat(students.students_last_name) as students_last_names_array FROM shifts, bases,
sites, students
WHERE shifts.shifts_student_id IN (students.students_userRoles_studentRoleData_id) AND
shifts.shifts_site_id = sites.sites_id AND shifts.shifts_base_id = bases.bases_id AND
shifts.shifts_start_datetime BETWEEN "'+startOfDay+'" AND "'+endOfDay+'" GROUP BY
shifts.shifts_event_id
我将信息存储在4个不同的表中。基本上我试图将所有班次与站点和基地匹配,然后让所有学生按照将要参加此班次的名字和姓氏(event_id决定他们共享的班次)。
现在sql调用在大约2000ms内完成运行,我想知道是否还有优化/清理这个冗长的sqlite语句。