MySQL优化左外连接选择

时间:2016-12-07 21:45:35

标签: python mysql

我正在尝试优化以下查询和python脚本。 file中有100,000多行,file中有大约300,000个项目。运行需要很长时间。有什么想法吗?

import MySQLdb.cursors as cursors
db = MySQLdb.connect(host=*,user=*,passwd=*,db=*, cursorclass=cursors.SSCursor)
cursor = db.cursor() 
print 'running large query'
cursor.execute('
SELECT `file`.`file_id`,`file`.`format` FROM `file` 
LEFT OUTER JOIN (SELECT `file_id`, `filename` FROM `file_version` WHERE `filename` = %s) AS `version` 
ON `file`.`file_id` = `version`.`file_id` WHERE `version`.`filename` IS NULL',[thumbnail]) 
results = cursor.fetchall()
cursor.close()
for row in results

表格文件

  

file_id(pk)|格式|等

table file_version

  

version_id(pk)| file_id |文件名|等

每个文件可以有多个版本,例如original.jpg,300.jpg,600.jpg,800.jpg。选择内部的选择是IMO真正放慢了它的速度。谢谢。

0 个答案:

没有答案