]> git.mxchange.org Git - friendica.git/commitdiff
Added index, join order fixed
authorMichael <heluecht@pirati.ca>
Sun, 21 Feb 2021 05:28:27 +0000 (05:28 +0000)
committerMichael <heluecht@pirati.ca>
Sun, 21 Feb 2021 05:28:27 +0000 (05:28 +0000)
database.sql
static/dbstructure.config.php
static/dbview.config.php

index 1b4ef429b95e8d5723cbed9e6492afcb845b6b3a..296bd8a072afe213b0c77f6347b75c8ddca1299a 100644 (file)
@@ -985,6 +985,7 @@ CREATE TABLE IF NOT EXISTS `post-content` (
        `plink` varchar(255) NOT NULL DEFAULT '' COMMENT 'permalink or URL to a displayable copy of the message at its source',
         PRIMARY KEY(`uri-id`),
         INDEX `plink` (`plink`(191)),
+        INDEX `resource-id` (`resource-id`),
         FULLTEXT INDEX `title-content-warning-body` (`title`,`content-warning`,`body`),
        FOREIGN KEY (`uri-id`) REFERENCES `item-uri` (`id`) ON UPDATE RESTRICT ON DELETE CASCADE
 ) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Content for all posts';
@@ -1592,9 +1593,9 @@ CREATE VIEW `post-view` AS SELECT
        `parent-post-author`.`network` AS `parent-author-network`
        FROM `post-user`
                        STRAIGHT_JOIN `post-thread-user` ON `post-thread-user`.`uri-id` = `post-user`.`parent-uri-id` AND `post-thread-user`.`uid` = `post-user`.`uid`
-                       LEFT JOIN `contact` ON `contact`.`id` = `post-user`.`contact-id`
-                       LEFT JOIN `contact` AS `author` ON `author`.`id` = `post-user`.`author-id`
-                       LEFT JOIN `contact` AS `owner` ON `owner`.`id` = `post-user`.`owner-id`
+                       STRAIGHT_JOIN `contact` ON `contact`.`id` = `post-user`.`contact-id`
+                       STRAIGHT_JOIN `contact` AS `author` ON `author`.`id` = `post-user`.`author-id`
+                       STRAIGHT_JOIN `contact` AS `owner` ON `owner`.`id` = `post-user`.`owner-id`
                        LEFT JOIN `contact` AS `causer` ON `causer`.`id` = `post-user`.`causer-id`
                        LEFT JOIN `item-uri` ON `item-uri`.`id` = `post-user`.`uri-id`
                        LEFT JOIN `item-uri` AS `thr-parent-item-uri` ON `thr-parent-item-uri`.`id` = `post-user`.`thr-parent-id`
@@ -1750,9 +1751,9 @@ CREATE VIEW `post-thread-view` AS SELECT
        `parent-post-author`.`network` AS `parent-author-network`
        FROM `post-thread-user`
                        INNER JOIN `post-user` ON `post-user`.`id` = `post-thread-user`.`post-user-id`
-                       LEFT JOIN `contact` ON `contact`.`id` = `post-thread-user`.`contact-id`
-                       LEFT JOIN `contact` AS `author` ON `author`.`id` = `post-thread-user`.`author-id`
-                       LEFT JOIN `contact` AS `owner` ON `owner`.`id` = `post-thread-user`.`owner-id`
+                       STRAIGHT_JOIN `contact` ON `contact`.`id` = `post-thread-user`.`contact-id`
+                       STRAIGHT_JOIN `contact` AS `author` ON `author`.`id` = `post-thread-user`.`author-id`
+                       STRAIGHT_JOIN `contact` AS `owner` ON `owner`.`id` = `post-thread-user`.`owner-id`
                        LEFT JOIN `contact` AS `causer` ON `causer`.`id` = `post-thread-user`.`causer-id`
                        LEFT JOIN `item-uri` ON `item-uri`.`id` = `post-thread-user`.`uri-id`
                        LEFT JOIN `item-uri` AS `thr-parent-item-uri` ON `thr-parent-item-uri`.`id` = `post-user`.`thr-parent-id`
index dad85d7b31dad477f4aa1652224eef17067b5cca..380e24699aee8148887bb17cae9976c598b260c4 100644 (file)
@@ -1042,6 +1042,7 @@ return [
                "indexes" => [
                        "PRIMARY" => ["uri-id"],
                        "plink" => ["plink(191)"],
+                       "resource-id" => ["resource-id"],
                        "title-content-warning-body" => ["FULLTEXT", "title", "content-warning", "body"],
                ]
        ],
index 9ee4bbb62b585c98391c5f1862a6607e862d52de..cfca9d07ae1a2e8d1faf2f83bdf782bd669798e2 100644 (file)
                        "causer-link" => ["causer", "url"],
                        "causer-addr" => ["causer", "addr"],
                        "causer-name" => ["causer", "name"],
-                       "causer-nick" => ["causer", "nick"], 
+                       "causer-nick" => ["causer", "nick"],
                        "causer-avatar" => ["causer", "thumb"],
                        "causer-network" => ["causer", "network"],
                        "causer-blocked" => ["causer", "blocked"],
                        "parent-guid" => ["parent-item-uri", "guid"],
                        "parent-network" => ["parent-post", "network"],
                        "parent-author-id" => ["parent-post", "author-id"],
-                       "parent-author-link" => ["parent-post-author", "url"],  
+                       "parent-author-link" => ["parent-post-author", "url"],
                        "parent-author-name" => ["parent-post-author", "name"],
-                       "parent-author-network" => ["parent-post-author", "network"], 
+                       "parent-author-network" => ["parent-post-author", "network"],
                ],
                "query" => "FROM `post-user`
                        STRAIGHT_JOIN `post-thread-user` ON `post-thread-user`.`uri-id` = `post-user`.`parent-uri-id` AND `post-thread-user`.`uid` = `post-user`.`uid`
-                       LEFT JOIN `contact` ON `contact`.`id` = `post-user`.`contact-id`
-                       LEFT JOIN `contact` AS `author` ON `author`.`id` = `post-user`.`author-id`
-                       LEFT JOIN `contact` AS `owner` ON `owner`.`id` = `post-user`.`owner-id`
+                       STRAIGHT_JOIN `contact` ON `contact`.`id` = `post-user`.`contact-id`
+                       STRAIGHT_JOIN `contact` AS `author` ON `author`.`id` = `post-user`.`author-id`
+                       STRAIGHT_JOIN `contact` AS `owner` ON `owner`.`id` = `post-user`.`owner-id`
                        LEFT JOIN `contact` AS `causer` ON `causer`.`id` = `post-user`.`causer-id`
                        LEFT JOIN `item-uri` ON `item-uri`.`id` = `post-user`.`uri-id`
                        LEFT JOIN `item-uri` AS `thr-parent-item-uri` ON `thr-parent-item-uri`.`id` = `post-user`.`thr-parent-id`
                        "causer-link" => ["causer", "url"],
                        "causer-addr" => ["causer", "addr"],
                        "causer-name" => ["causer", "name"],
-                       "causer-nick" => ["causer", "nick"], 
+                       "causer-nick" => ["causer", "nick"],
                        "causer-avatar" => ["causer", "thumb"],
                        "causer-network" => ["causer", "network"],
                        "causer-blocked" => ["causer", "blocked"],
                        "parent-guid" => ["parent-item-uri", "guid"],
                        "parent-network" => ["parent-post", "network"],
                        "parent-author-id" => ["parent-post", "author-id"],
-                       "parent-author-link" => ["parent-post-author", "url"],  
+                       "parent-author-link" => ["parent-post-author", "url"],
                        "parent-author-name" => ["parent-post-author", "name"],
-                       "parent-author-network" => ["parent-post-author", "network"], 
+                       "parent-author-network" => ["parent-post-author", "network"],
                ],
                "query" => "FROM `post-thread-user`
                        INNER JOIN `post-user` ON `post-user`.`id` = `post-thread-user`.`post-user-id`
-                       LEFT JOIN `contact` ON `contact`.`id` = `post-thread-user`.`contact-id`
-                       LEFT JOIN `contact` AS `author` ON `author`.`id` = `post-thread-user`.`author-id`
-                       LEFT JOIN `contact` AS `owner` ON `owner`.`id` = `post-thread-user`.`owner-id`
+                       STRAIGHT_JOIN `contact` ON `contact`.`id` = `post-thread-user`.`contact-id`
+                       STRAIGHT_JOIN `contact` AS `author` ON `author`.`id` = `post-thread-user`.`author-id`
+                       STRAIGHT_JOIN `contact` AS `owner` ON `owner`.`id` = `post-thread-user`.`owner-id`
                        LEFT JOIN `contact` AS `causer` ON `causer`.`id` = `post-thread-user`.`causer-id`
                        LEFT JOIN `item-uri` ON `item-uri`.`id` = `post-thread-user`.`uri-id`
                        LEFT JOIN `item-uri` AS `thr-parent-item-uri` ON `thr-parent-item-uri`.`id` = `post-user`.`thr-parent-id`