Improved query speed

This commit is contained in:
Michael 2018-02-01 00:29:47 +00:00
parent 03aafa8228
commit 4949be60a8
4 changed files with 6 additions and 9 deletions

View file

@ -39,7 +39,7 @@ define('FRIENDICA_PLATFORM', 'Friendica');
define('FRIENDICA_CODENAME', 'Asparagus');
define('FRIENDICA_VERSION', '3.6-dev');
define('DFRN_PROTOCOL_VERSION', '2.23');
define('DB_UPDATE_VERSION', 1247);
define('DB_UPDATE_VERSION', 1248);
define('NEW_UPDATE_ROUTINE_VERSION', 1170);
/**

View file

@ -1,6 +1,6 @@
-- ------------------------------------------
-- Friendica 3.6-dev (Asparagus)
-- DB_UPDATE_VERSION 1246
-- DB_UPDATE_VERSION 1248
-- ------------------------------------------
@ -982,7 +982,7 @@ CREATE TABLE IF NOT EXISTS `thread` (
INDEX `uid_created` (`uid`,`created`),
INDEX `uid_commented` (`uid`,`commented`),
INDEX `uid_wall_created` (`uid`,`wall`,`created`),
INDEX `private_wall_commented` (`private`,`wall`,`commented`)
INDEX `private_wall_origin_commented` (`private`,`wall`,`origin`,`commented`)
) DEFAULT COLLATE utf8mb4_general_ci;
--

View file

@ -183,14 +183,11 @@ function community_content(App $a, $update = 0)
function community_getitems($start, $itemspage, $content)
{
if ($content == 'local') {
$r = dba::p("SELECT " . item_fieldlists() . " FROM `thread`
$r = dba::p("SELECT `item`.`uri`, `item`.`author-link` FROM `thread`
INNER JOIN `user` ON `user`.`uid` = `thread`.`uid` AND NOT `user`.`hidewall`
INNER JOIN `item` ON `item`.`id` = `thread`.`iid`
AND `item`.`allow_cid` = '' AND `item`.`allow_gid` = ''
AND `item`.`deny_cid` = '' AND `item`.`deny_gid` = ''" .
item_joins() . " AND `contact`.`self`
WHERE `thread`.`visible` AND NOT `thread`.`deleted` AND NOT `thread`.`moderated`
AND NOT `thread`.`private` AND `thread`.`wall`
AND NOT `thread`.`private` AND `thread`.`wall` AND `thread`.`origin`
ORDER BY `thread`.`commented` DESC LIMIT " . intval($start) . ", " . intval($itemspage)
);
return dba::inArray($r);

View file

@ -1686,7 +1686,7 @@ class DBStructure
"uid_created" => ["uid","created"],
"uid_commented" => ["uid","commented"],
"uid_wall_created" => ["uid","wall","created"],
"private_wall_commented" => ["private","wall","commented"],
"private_wall_origin_commented" => ["private","wall","origin","commented"],
]
];
$database["tokens"] = [