Merge pull request #8856 from annando/db-speed

Fix speed issues with the network page
This commit is contained in:
Hypolite Petovan 2020-07-09 18:48:15 -04:00 committed by GitHub
commit e5269c5696
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 22 additions and 10 deletions

View file

@ -168,10 +168,17 @@ class Item
$contact = DBA::selectFirst('contact', $fields, ['id' => $tagcid, 'uid' => $profile_uid]);
}
// select someone by nick or attag in the current network
// select someone by nick in the current network
if (!DBA::isResult($contact) && ($network != '')) {
$condition = ["(`nick` = ? OR `attag` = ?) AND `network` = ? AND `uid` = ?",
$name, $name, $network, $profile_uid];
$condition = ["`nick` = ? AND `network` = ? AND `uid` = ?",
$name, $network, $profile_uid];
$contact = DBA::selectFirst('contact', $fields, $condition);
}
// select someone by attag in the current network
if (!DBA::isResult($contact) && ($network != '')) {
$condition = ["`attag` = ? AND `network` = ? AND `uid` = ?",
$name, $network, $profile_uid];
$contact = DBA::selectFirst('contact', $fields, $condition);
}
@ -181,9 +188,15 @@ class Item
$contact = DBA::selectFirst('contact', $fields, $condition);
}
// select someone by nick or attag in any network
// select someone by nick in any network
if (!DBA::isResult($contact)) {
$condition = ["(`nick` = ? OR `attag` = ?) AND `uid` = ?", $name, $name, $profile_uid];
$condition = ["`nick` = ? AND `uid` = ?", $name, $profile_uid];
$contact = DBA::selectFirst('contact', $fields, $condition);
}
// select someone by attag in any network
if (!DBA::isResult($contact)) {
$condition = ["`attag` = ? AND `uid` = ?", $name, $profile_uid];
$contact = DBA::selectFirst('contact', $fields, $condition);
}

View file

@ -1838,7 +1838,7 @@ class Item
if (!Tag::existsForPost($item['uri-id'])) {
Tag::storeFromBody($item['uri-id'], $body);
}
$ret = DBA::insert('item', $item);
// When the item was successfully stored we fetch the ID of the item.
@ -2022,9 +2022,7 @@ class Item
}
if (empty($fields)) {
// when there are no fields at all, just use the condition
// This is to ensure that we always store content.
$fields = $condition;
return;
}
DBA::update('item-content', $fields, $condition, true);

View file

@ -54,7 +54,7 @@
use Friendica\Database\DBA;
if (!defined('DB_UPDATE_VERSION')) {
define('DB_UPDATE_VERSION', 1354);
define('DB_UPDATE_VERSION', 1355);
}
return [
@ -195,6 +195,7 @@ return [
"addr_uid" => ["addr(32)", "uid"],
"nurl_uid" => ["nurl(32)", "uid"],
"nick_uid" => ["nick(32)", "uid"],
"attag_uid" => ["attag(32)", "uid"],
"dfrn-id" => ["dfrn-id(64)"],
"issued-id" => ["issued-id(64)"],
"gsid" => ["gsid"]