some more DB tuning.
This commit is contained in:
parent
45b42cbc1c
commit
9e251a1abc
@ -251,9 +251,9 @@ class Channel extends \Zotlabs\Web\Controller {
|
||||
else {
|
||||
$r = q("SELECT item.parent AS item_id FROM item
|
||||
left join abook on ( item.author_xchan = abook.abook_xchan $abook_uids )
|
||||
WHERE true and uid = %d $item_normal
|
||||
WHERE true and item.uid = %d AND item.item_thread_top = 1 $item_normal
|
||||
AND (abook.abook_blocked = 0 or abook.abook_flags is null)
|
||||
AND item.item_wall = 1 AND item.item_thread_top = 1
|
||||
AND item.item_wall = 1
|
||||
$sql_extra $sql_extra2
|
||||
ORDER BY created DESC $pager_sql ",
|
||||
intval(\App::$profile['profile_uid'])
|
||||
|
@ -167,6 +167,7 @@ class Pubstream extends \Zotlabs\Web\Controller {
|
||||
$net_query = (($net) ? " left join xchan on xchan_hash = author_xchan " : '');
|
||||
$net_query2 = (($net) ? " and xchan_network = '" . protect_sprintf(dbesc($net)) . "' " : '');
|
||||
|
||||
$abook_uids = " and abook.abook_channel = " . intval(\App::$profile['profile_uid']) . " ";
|
||||
|
||||
$simple_update = (($_SESSION['loadtime']) ? " AND item.changed > '" . datetime_convert('UTC','UTC',$_SESSION['loadtime']) . "' " : '');
|
||||
|
||||
@ -196,10 +197,9 @@ class Pubstream extends \Zotlabs\Web\Controller {
|
||||
else {
|
||||
// Fetch a page full of parent items for this page
|
||||
$r = q("SELECT item.id AS item_id FROM item
|
||||
left join abook on item.author_xchan = abook.abook_xchan
|
||||
left join abook on ( item.author_xchan = abook.abook_xchan $abook_uids )
|
||||
$net_query
|
||||
WHERE item_thread_top = 1 $uids $item_normal
|
||||
AND item.parent = item.id
|
||||
WHERE true $uids and item.item_thread_top = 1 $item_normal
|
||||
and (abook.abook_blocked = 0 or abook.abook_flags is null)
|
||||
$sql_extra3 $sql_extra $sql_nets $net_query2
|
||||
ORDER BY $ordering DESC $pager_sql "
|
||||
|
2
boot.php
2
boot.php
@ -53,7 +53,7 @@ define ( 'PLATFORM_NAME', 'hubzilla' );
|
||||
define ( 'STD_VERSION', '3.1.9' );
|
||||
define ( 'ZOT_REVISION', '1.3' );
|
||||
|
||||
define ( 'DB_UPDATE_VERSION', 1201 );
|
||||
define ( 'DB_UPDATE_VERSION', 1202 );
|
||||
|
||||
define ( 'PROJECT_BASE', __DIR__ );
|
||||
|
||||
|
@ -652,6 +652,8 @@ CREATE TABLE IF NOT EXISTS `item` (
|
||||
KEY `uid_created` (`uid`, `created`),
|
||||
KEY `uid_item_unseen` (`uid`, `item_unseen`),
|
||||
KEY `uid_item_type` (`uid`, `item_type`),
|
||||
KEY `uid_item_thread_top` (`uid`, `item_thread_top`),
|
||||
KEY `uid_item_blocked` (`uid`, `item_blocked`),
|
||||
KEY `aid` (`aid`),
|
||||
KEY `owner_xchan` (`owner_xchan`),
|
||||
KEY `author_xchan` (`author_xchan`),
|
||||
@ -680,7 +682,6 @@ CREATE TABLE IF NOT EXISTS `item` (
|
||||
KEY `item_starred` (`item_starred`),
|
||||
KEY `item_uplink` (`item_uplink`),
|
||||
KEY `item_wall` (`item_wall`),
|
||||
KEY `item_thread_top` (`item_thread_top`),
|
||||
KEY `item_notshown` (`item_notshown`),
|
||||
KEY `item_nsfw` (`item_nsfw`),
|
||||
KEY `item_relay` (`item_relay`),
|
||||
@ -690,7 +691,8 @@ CREATE TABLE IF NOT EXISTS `item` (
|
||||
KEY `item_verified` (`item_verified`),
|
||||
KEY `item_retained` (`item_retained`),
|
||||
KEY `item_rss` (`item_rss`),
|
||||
KEY `item_consensus` (`item_consensus`)
|
||||
KEY `item_consensus` (`item_consensus`),
|
||||
KEY `item_deleted_pending_remove_changed` (`item_deleted`, `item_pending_remove`, `changed`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `item_id` (
|
||||
|
@ -1,6 +1,6 @@
|
||||
<?php
|
||||
|
||||
define( 'UPDATE_VERSION' , 1201 );
|
||||
define( 'UPDATE_VERSION' , 1202 );
|
||||
|
||||
/**
|
||||
*
|
||||
@ -3113,3 +3113,19 @@ function update_r1200() {
|
||||
return UPDATE_SUCCESS;
|
||||
return UPDATE_FAILED;
|
||||
}
|
||||
|
||||
function update_r1201() {
|
||||
|
||||
if(ACTIVE_DBTYPE == DBTYPE_MYSQL) {
|
||||
$r = q("ALTER TABLE item
|
||||
DROP INDEX item_thread_top,
|
||||
ADD INDEX uid_item_thread_top (uid, item_thread_top),
|
||||
ADD INDEX uid_item_blocked (uid, item_blocked),
|
||||
ADD INDEX item_deleted_pending_remove_changed (item_deleted, item_pending_remove, changed)
|
||||
");
|
||||
}
|
||||
|
||||
if($r)
|
||||
return UPDATE_SUCCESS;
|
||||
return UPDATE_FAILED;
|
||||
}
|
||||
|
Reference in New Issue
Block a user