我正在尝试优化以下查询和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真正放慢了它的速度。谢谢。