Browse Source

Change multi_idx index in ::posts table

Before /* Затронуто строк: 0  Найденные строки: 701 075  Предупреждения: 0  Длительность  1 запрос: 4,790 sec. (+ 0,312 sec. network) */
After  /* Затронуто строк: 0  Найденные строки: 701 075  Предупреждения: 0  Длительность  1 запрос: 0,827 sec. (+ 0,280 sec. network) */
Visman 2 years ago
parent
commit
cfc3ae81ca
2 changed files with 12 additions and 1 deletions
  1. 1 1
      app/Models/Pages/Admin/Install.php
  2. 11 0
      app/Models/Pages/Admin/Update.php

+ 1 - 1
app/Models/Pages/Admin/Install.php

@@ -931,7 +931,7 @@ class Install extends Admin
             'PRIMARY KEY' => ['id'],
             'INDEXES' => [
                 'topic_id_idx' => ['topic_id'],
-                'multi_idx'    => ['poster_id', 'topic_id'],
+                'multi_idx'    => ['poster_id', 'topic_id', 'posted'],
             ],
             'ENGINE' => $this->DBEngine,
         ];

+ 11 - 0
app/Models/Pages/Admin/Update.php

@@ -732,4 +732,15 @@ class Update extends Admin
 
         return null;
     }
+
+    /**
+     * rev.61 to rev.62
+     */
+    protected function stageNumber61(array $args): ?int
+    {
+        $this->c->DB->dropIndex('::posts', 'multi_idx');
+        $this->c->DB->addIndex('::posts', 'multi_idx', ['poster_id', 'topic_id', 'posted']);
+
+        return null;
+    }
 }