add combined index for item.uid and item.item_unseen. this speeds up notifications by a magnitude.
This commit is contained in:
parent
3af3b36db3
commit
e935473c5c
@ -137,4 +137,4 @@ class WebServer {
|
|||||||
|
|
||||||
killme();
|
killme();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
2
boot.php
2
boot.php
@ -52,7 +52,7 @@ define ( 'PLATFORM_NAME', 'hubzilla' );
|
|||||||
define ( 'STD_VERSION', '2.7.2' );
|
define ( 'STD_VERSION', '2.7.2' );
|
||||||
define ( 'ZOT_REVISION', '1.3' );
|
define ( 'ZOT_REVISION', '1.3' );
|
||||||
|
|
||||||
define ( 'DB_UPDATE_VERSION', 1193 );
|
define ( 'DB_UPDATE_VERSION', 1194 );
|
||||||
|
|
||||||
define ( 'PROJECT_BASE', __DIR__ );
|
define ( 'PROJECT_BASE', __DIR__ );
|
||||||
|
|
||||||
|
@ -650,8 +650,9 @@ CREATE TABLE IF NOT EXISTS `item` (
|
|||||||
KEY `created` (`created`),
|
KEY `created` (`created`),
|
||||||
KEY `edited` (`edited`),
|
KEY `edited` (`edited`),
|
||||||
KEY `received` (`received`),
|
KEY `received` (`received`),
|
||||||
KEY `uid_commented` (`uid`,`commented`),
|
KEY `uid_commented` (`uid`, `commented`),
|
||||||
KEY `uid_created` (`uid`,`created`),
|
KEY `uid_created` (`uid`, `created`),
|
||||||
|
KEY `uid_item_unseen` (`uid`, `item_unseen`);
|
||||||
KEY `aid` (`aid`),
|
KEY `aid` (`aid`),
|
||||||
KEY `owner_xchan` (`owner_xchan`),
|
KEY `owner_xchan` (`owner_xchan`),
|
||||||
KEY `author_xchan` (`author_xchan`),
|
KEY `author_xchan` (`author_xchan`),
|
||||||
|
@ -621,6 +621,7 @@ create index "item_edited" on item ("edited");
|
|||||||
create index "item_received" on item ("received");
|
create index "item_received" on item ("received");
|
||||||
create index "item_uid_commented" on item ("uid","commented");
|
create index "item_uid_commented" on item ("uid","commented");
|
||||||
create index "item_uid_created" on item ("uid","created");
|
create index "item_uid_created" on item ("uid","created");
|
||||||
|
create index "item_uid_unseen" on item ("uid","item_unseen");
|
||||||
create index "item_changed" on item ("changed");
|
create index "item_changed" on item ("changed");
|
||||||
create index "item_comments_closed" on item ("comments_closed");
|
create index "item_comments_closed" on item ("comments_closed");
|
||||||
create index "item_aid" on item ("aid");
|
create index "item_aid" on item ("aid");
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
define( 'UPDATE_VERSION' , 1193 );
|
define( 'UPDATE_VERSION' , 1194 );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@ -2978,3 +2978,17 @@ function update_r1192() {
|
|||||||
return UPDATE_SUCCESS;
|
return UPDATE_SUCCESS;
|
||||||
return UPDATE_FAILED;
|
return UPDATE_FAILED;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function update_r1193() {
|
||||||
|
|
||||||
|
if(ACTIVE_DBTYPE == DBTYPE_POSTGRES) {
|
||||||
|
$r1 = q("CREATE INDEX item_uid_unseen ON item (uid, item_unseen)");
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$r1 = q("ALTER TABLE item ADD INDEX uid_item_unseen (uid, item_unseen);");
|
||||||
|
}
|
||||||
|
|
||||||
|
if($r1)
|
||||||
|
return UPDATE_SUCCESS;
|
||||||
|
return UPDATE_FAILED;
|
||||||
|
}
|
||||||
|
@ -281,7 +281,7 @@ function closeMenu(theID) {
|
|||||||
function markRead(notifType) {
|
function markRead(notifType) {
|
||||||
$.get('ping?f=&markRead='+notifType);
|
$.get('ping?f=&markRead='+notifType);
|
||||||
if(timer) clearTimeout(timer);
|
if(timer) clearTimeout(timer);
|
||||||
$('#' + notifType + '-update').html('');
|
$('.' + notifType + '-button').hide();
|
||||||
timer = setTimeout(NavUpdate,2000);
|
timer = setTimeout(NavUpdate,2000);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -446,13 +446,13 @@ function NavUpdate() {
|
|||||||
|
|
||||||
if(data.network == 0) {
|
if(data.network == 0) {
|
||||||
data.network = '';
|
data.network = '';
|
||||||
$('.net-update, .net-button').hide();
|
$('.network-update, .network-button').hide();
|
||||||
document.title = savedTitle;
|
document.title = savedTitle;
|
||||||
} else {
|
} else {
|
||||||
$('.net-update, .net-button').show();
|
$('.network-update, .network-button').show();
|
||||||
document.title = '(' + data.network + ') ' + savedTitle;
|
document.title = '(' + data.network + ') ' + savedTitle;
|
||||||
}
|
}
|
||||||
$('.net-update').html(data.network);
|
$('.network-update').html(data.network);
|
||||||
|
|
||||||
if(data.pubs == 0) {
|
if(data.pubs == 0) {
|
||||||
data.pubs = '';
|
data.pubs = '';
|
||||||
|
@ -75,10 +75,10 @@
|
|||||||
<div class="collapse navbar-collapse" id="navbar-collapse-1">
|
<div class="collapse navbar-collapse" id="navbar-collapse-1">
|
||||||
<ul class="navbar-nav mr-auto">
|
<ul class="navbar-nav mr-auto">
|
||||||
{{if $nav.network}}
|
{{if $nav.network}}
|
||||||
<li class="nav-item dropdown net-button" style="display: none;">
|
<li class="nav-item dropdown network-button" style="display: none;">
|
||||||
<a class="nav-link" href="#" title="{{$nav.network.3}}" id="{{$nav.network.4}}" data-toggle="dropdown" rel="#nav-network-menu">
|
<a class="nav-link" href="#" title="{{$nav.network.3}}" id="{{$nav.network.4}}" data-toggle="dropdown" rel="#nav-network-menu">
|
||||||
<i class="fa fa-fw fa-th"></i>
|
<i class="fa fa-fw fa-th"></i>
|
||||||
<span class="badge badge-pill badge-secondary net-update"></span>
|
<span class="badge badge-pill badge-secondary network-update"></span>
|
||||||
</a>
|
</a>
|
||||||
<div id="nav-network-menu" class="dropdown-menu" rel="network">
|
<div id="nav-network-menu" class="dropdown-menu" rel="network">
|
||||||
<a class="dropdown-item" id="nav-network-see-all" href="{{$nav.network.all.0}}">{{$nav.network.all.1}}</a>
|
<a class="dropdown-item" id="nav-network-see-all" href="{{$nav.network.all.0}}">{{$nav.network.all.1}}</a>
|
||||||
|
Reference in New Issue
Block a user