アクティビティタブには時間がかかる4.7.29

連絡先の概要ページの[アクティビティ]タブには、アクティビティを読み込んでリストするのに時間がかかります。

以下は、〜50
のアクティビティレコードを持つ連絡先に対して、それぞれ20〜25秒かかる、時間のかかるクエリです。

クエリ1

INSERT INTO {$activityContactTempTable} ( activity_id, contact_id, record_type_id, contact_name, is_deleted )
SELECT     ac.activity_id,
       ac.contact_id,
       ac.record_type_id,
       c.sort_name,
       c.is_deleted
FROM       {$activityTempTable}
INNER JOIN civicrm_activity a ON ( a.id = {$activityTempTable}.activity_id )
INNER JOIN civicrm_activity_contact ac ON ( ac.activity_id = {$activityTempTable}.activity_id )
INNER JOIN civicrm_contact c ON c.id = ac.contact_id
WHERE ac.record_type_id != %1

に続く

INSERT INTO {$activityContactTempTable} ( activity_id, contact_id, record_type_id, contact_name, is_deleted, counter )
{$select}, count(ac.contact_id)
FROM       {$activityTempTable}
INNER JOIN civicrm_activity a ON ( a.id = {$activityTempTable}.activity_id )
INNER JOIN civicrm_activity_contact ac ON ( ac.activity_id = {$activityTempTable}.activity_id )
INNER JOIN civicrm_contact c ON c.id = ac.contact_id
WHERE ac.record_type_id = %1
GROUP BY ac.activity_id

from https://github.com/civicrm/civicrm-core/blob/master/CRM/Activity/BAO/Activity.php#L1022-L1048

これらのクエリを追加したと思われる未解決の問題が CRM-20481
です。これらの変更を元に戻すと、読み込み時間はさらに悪くなります。そのため、getActivities()関数を2回呼び出して数とアクティビティのリストを取得します。

誰もが同じことを経験しましたか?私は、e、アップグレード後のアクティビティタブの読み込みが遅い?

私たちのMySQLは5.5で、遅いクエリがこのバージョンのみに関連する場合に使用します。

UPDATE – 次のクエリでtempテーブルが作成されます。

CREATE TABLE temp_table (  fixed_sort_order INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,activity_id int unsigned,
activity_date_time datetime,
source_record_id int unsigned,
status_id int unsigned,
subject varchar(255),
source_contact_name varchar(255),
activity_type_id int unsigned,
activity_type varchar(128),
case_id int unsigned,
case_subject varchar(255),
campaign_id int unsigned,   UNIQUE KEY ( activity_id )
    ) ENGINE=HEAP DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci

fixed_sort_orderおよびactivity_idのインデックスを持つ

enter image description here

ベストアンサー
申し訳ありませんが、適切な答えはありません

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です