我有大致以下结构的数据库:
表 1(名称)-< 表 2-< 表 3(分数)
其中 -< 表示一对多的关系。我需要做的是为给定列表中的每个字符串从 table3 中找到具有最大分值的链接条目。我现在这样做的方式很慢,我想知道它可以加快速度。
我是怎么做的:
SELECT k.score,k.yaw,k.pitch,k.roll,k.kp_number,k.ke_number,k.points,k.elems --various fields of third table
FROM File
JOIN FaceDetection AS d ON d.f_id=File.file_id --joining second table
JOIN FaceKey AS k ON k.face_det=d.fd_id --joining third table
WHERE name=:fld
ORDER BY k.score DESC
我打开事务,使用上述文本准备查询,并循环从数据库中检索我感兴趣的条目,然后提交事务。有什么更好、更快的方法?