Issue 13560: new indexes to improve circle loading time

This commit is contained in:
Michael 2023-12-16 18:28:33 +00:00
parent 0ec7991a20
commit b88c557c6b
3 changed files with 36 additions and 23 deletions

View file

@ -1,6 +1,6 @@
-- ------------------------------------------ -- ------------------------------------------
-- Friendica 2023.09-rc (Giant Rhubarb) -- Friendica 2023.09-rc (Giant Rhubarb)
-- DB_UPDATE_VERSION 1541 -- DB_UPDATE_VERSION 1542
-- ------------------------------------------ -- ------------------------------------------
@ -1601,8 +1601,12 @@ CREATE TABLE IF NOT EXISTS `post-thread-user` (
INDEX `uid_received` (`uid`,`received`), INDEX `uid_received` (`uid`,`received`),
INDEX `uid_wall_received` (`uid`,`wall`,`received`), INDEX `uid_wall_received` (`uid`,`wall`,`received`),
INDEX `uid_commented` (`uid`,`commented`), INDEX `uid_commented` (`uid`,`commented`),
INDEX `uid_created` (`uid`,`created`),
INDEX `uid_starred` (`uid`,`starred`), INDEX `uid_starred` (`uid`,`starred`),
INDEX `uid_mention` (`uid`,`mention`), INDEX `uid_mention` (`uid`,`mention`),
INDEX `contact-id_commented` (`contact-id`,`commented`),
INDEX `contact-id_received` (`contact-id`,`received`),
INDEX `contact-id_created` (`contact-id`,`created`),
FOREIGN KEY (`uri-id`) REFERENCES `item-uri` (`id`) ON UPDATE RESTRICT ON DELETE CASCADE, FOREIGN KEY (`uri-id`) REFERENCES `item-uri` (`id`) ON UPDATE RESTRICT ON DELETE CASCADE,
FOREIGN KEY (`conversation-id`) REFERENCES `item-uri` (`id`) ON UPDATE RESTRICT ON DELETE CASCADE, FOREIGN KEY (`conversation-id`) REFERENCES `item-uri` (`id`) ON UPDATE RESTRICT ON DELETE CASCADE,
FOREIGN KEY (`owner-id`) REFERENCES `contact` (`id`) ON UPDATE RESTRICT ON DELETE RESTRICT, FOREIGN KEY (`owner-id`) REFERENCES `contact` (`id`) ON UPDATE RESTRICT ON DELETE RESTRICT,

View file

@ -36,27 +36,31 @@ Fields
Indexes Indexes
------------ ------------
| Name | Fields | | Name | Fields |
| ----------------- | ------------------- | | -------------------- | --------------------- |
| PRIMARY | uid, uri-id | | PRIMARY | uid, uri-id |
| uri-id | uri-id | | uri-id | uri-id |
| conversation-id | conversation-id | | conversation-id | conversation-id |
| owner-id | owner-id | | owner-id | owner-id |
| author-id | author-id | | author-id | author-id |
| causer-id | causer-id | | causer-id | causer-id |
| uid | uid | | uid | uid |
| contact-id | contact-id | | contact-id | contact-id |
| psid | psid | | psid | psid |
| post-user-id | post-user-id | | post-user-id | post-user-id |
| commented | commented | | commented | commented |
| received | received | | received | received |
| author-id_created | author-id, created | | author-id_created | author-id, created |
| owner-id_created | owner-id, created | | owner-id_created | owner-id, created |
| uid_received | uid, received | | uid_received | uid, received |
| uid_wall_received | uid, wall, received | | uid_wall_received | uid, wall, received |
| uid_commented | uid, commented | | uid_commented | uid, commented |
| uid_starred | uid, starred | | uid_created | uid, created |
| uid_mention | uid, mention | | uid_starred | uid, starred |
| uid_mention | uid, mention |
| contact-id_commented | contact-id, commented |
| contact-id_received | contact-id, received |
| contact-id_created | contact-id, created |
Foreign Keys Foreign Keys
------------ ------------

View file

@ -56,7 +56,7 @@ use Friendica\Database\DBA;
// This file is required several times during the test in DbaDefinition which justifies this condition // This file is required several times during the test in DbaDefinition which justifies this condition
if (!defined('DB_UPDATE_VERSION')) { if (!defined('DB_UPDATE_VERSION')) {
define('DB_UPDATE_VERSION', 1541); define('DB_UPDATE_VERSION', 1542);
} }
return [ return [
@ -1607,8 +1607,13 @@ return [
"uid_received" => ["uid", "received"], "uid_received" => ["uid", "received"],
"uid_wall_received" => ["uid", "wall", "received"], "uid_wall_received" => ["uid", "wall", "received"],
"uid_commented" => ["uid", "commented"], "uid_commented" => ["uid", "commented"],
"uid_received" => ["uid", "received"],
"uid_created" => ["uid", "created"],
"uid_starred" => ["uid", "starred"], "uid_starred" => ["uid", "starred"],
"uid_mention" => ["uid", "mention"], "uid_mention" => ["uid", "mention"],
"contact-id_commented" => ["contact-id", "commented"],
"contact-id_received" => ["contact-id", "received"],
"contact-id_created" => ["contact-id", "created"],
] ]
], ],
"post-user-notification" => [ "post-user-notification" => [