MDL-32471 improved SQL to prevent potential full table scans

This commit is contained in:
David Mudrak
2012-04-25 13:44:36 +02:00
parent 94d104172e
commit f7eec6ce79
+5 -2
View File
@@ -1420,11 +1420,14 @@ class file_storage {
FROM {files} p
LEFT JOIN {files} o ON (p.filename = o.contenthash)
WHERE p.contextid = ? AND p.component = 'core' AND p.filearea = 'preview' AND p.itemid = 0
AND p.filename <> '.' AND o.id IS NULL";
AND o.id IS NULL";
$syscontext = context_system::instance();
$rs = $DB->get_recordset_sql($sql, array($syscontext->id));
foreach ($rs as $orphan) {
$this->get_file_instance($orphan)->delete();
$file = $this->get_file_instance($orphan);
if (!$file->is_directory()) {
$file->delete();
}
}
$rs->close();
mtrace('done.');