mirror of
https://github.com/friendica/friendica
synced 2024-12-23 17:20:16 +00:00
Merge pull request #8856 from annando/db-speed
Fix speed issues with the network page
This commit is contained in:
commit
e5269c5696
3 changed files with 22 additions and 10 deletions
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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"]
|
||||
|
|
Loading…
Reference in a new issue