sqlStr = """ select * from course
left outer join courseItem on course.id==courseItem.courseId
left outer join courseChoose on courseItem.id== courseChoose.courseItemId
left outer join student on courseChoose.studentId==student.id
left outer join courseYear on course.courseYear==courseYear.id where student.id==1936 order by courseItem.startTime asc """ import sqlite3 cx = sqlite3.connect("db.s3db") cu = cx.cursor() print("start>>>") cu.execute(sqlStr) print("end<<<<<<<<<")
这样的语句join联合查询的效率非常慢,
这个是是sqlite自己的bug,sqlite低版本表join到一定数量性能下降严重,主动替换sqlite的dll到最新版本解决了问题。