比双SQLite内连接更好的性能

时间:2015-04-14 20:08:33

标签: sqlite

我有三张桌子(问题的所有内容都过于简化)

Student
---
StudentId (primary key)
UniversityId (indexed)
CityId (indexed)
StudentName


University
---
UniversityId (primary key)
UniversityName


City
---
CityId (primary key)
CityName

我想要打印出所有学生姓名,但如果姓名相同,我想首先按照他们所在的城市名称排序,然后按大学名称排序。

所以,我有一个像这样的简单查询:

select s.* from student s 
inner join university u on s.UniversityId = u.UniversityId 
inner join city c on s.CityId = c.CityId 
order by s.StudentName asc, c.CityName asc, u.UniversityName asc

有没有办法以任何方式改善这种性能,以及如何?

1 个答案:

答案 0 :(得分:1)

不需要UniversityIdCityId上的索引。

可以使用StudentName上的索引优化ORDER BY。