add size index for filecache

improves performance of #23004

Signed-off-by: Robin Appelman <robin@icewind.nl>
This commit is contained in:
Robin Appelman 2020-09-22 15:15:34 +02:00
parent 48961823f7
commit 634c051be6
No known key found for this signature in database
GPG Key ID: 42B69D8A64526EFB
3 changed files with 12 additions and 0 deletions

View File

@ -103,6 +103,10 @@ class Application extends App {
if (!$table->hasIndex('fs_mtime')) { if (!$table->hasIndex('fs_mtime')) {
$subject->addHintForMissingSubject($table->getName(), 'fs_mtime'); $subject->addHintForMissingSubject($table->getName(), 'fs_mtime');
} }
if (!$table->hasIndex('fs_size')) {
$subject->addHintForMissingSubject($table->getName(), 'fs_size');
}
} }
if ($schema->hasTable('twofactor_providers')) { if ($schema->hasTable('twofactor_providers')) {

View File

@ -135,6 +135,13 @@ class AddMissingIndices extends Command {
$updated = true; $updated = true;
$output->writeln('<info>Filecache table updated successfully.</info>'); $output->writeln('<info>Filecache table updated successfully.</info>');
} }
if (!$table->hasIndex('fs_size')) {
$output->writeln('<info>Adding additional size index to the filecache table, this can take some time...</info>');
$table->addIndex(['size'], 'fs_size');
$this->connection->migrateToSchema($schema->getWrappedSchema());
$updated = true;
$output->writeln('<info>Filecache table updated successfully.</info>');
}
} }
$output->writeln('<info>Check indices of the twofactor_providers table.</info>'); $output->writeln('<info>Check indices of the twofactor_providers table.</info>');

View File

@ -225,6 +225,7 @@ class Version13000Date20170718121200 extends SimpleMigrationStep {
$table->addIndex(['storage', 'mimepart'], 'fs_storage_mimepart'); $table->addIndex(['storage', 'mimepart'], 'fs_storage_mimepart');
$table->addIndex(['storage', 'size', 'fileid'], 'fs_storage_size'); $table->addIndex(['storage', 'size', 'fileid'], 'fs_storage_size');
$table->addIndex(['mtime'], 'fs_mtime'); $table->addIndex(['mtime'], 'fs_mtime');
$table->addIndex(['size'], 'fs_size');
} }
if (!$schema->hasTable('group_user')) { if (!$schema->hasTable('group_user')) {