mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-27 01:02:42 +01:00
Add a missing DaemonLogEvent key for garbage collection
Summary: See PHI176. This is issued periodically by the garbage collector. Normally this table is relatively small-ish so this missing key isn't hugely noticeable. Test Plan: Ran `./bin/garbage collect --collector daemon.processes --trace` to get the query the GC runs. Ran ##DELETE FROM `daemon_logevent` WHERE epoch < 1508443504 LIMIT 100## before and after the key, saw a much better query plan afterward: Before: ``` mysql> explain DELETE FROM `daemon_logevent` WHERE epoch < 1508443504 LIMIT 100; +----+-------------+-----------------+------+---------------+------+---------+------+-------+-------------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +----+-------------+-----------------+------+---------------+------+---------+------+-------+-------------+ | 1 | SIMPLE | daemon_logevent | ALL | NULL | NULL | NULL | NULL | 19325 | Using where | +----+-------------+-----------------+------+---------------+------+---------+------+-------+-------------+ 1 row in set (0.00 sec) ``` After: ``` mysql> explain DELETE FROM `daemon_logevent` WHERE epoch < 1508443504 LIMIT 100; +----+-------------+-----------------+-------+---------------+-----------+---------+-------+------+-------------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +----+-------------+-----------------+-------+---------------+-----------+---------+-------+------+-------------+ | 1 | SIMPLE | daemon_logevent | range | key_epoch | key_epoch | 4 | const | 1 | Using where | +----+-------------+-----------------+-------+---------------+-----------+---------+-------+------+-------------+ 1 row in set (0.00 sec) ``` Reviewers: amckinley Reviewed By: amckinley Differential Revision: https://secure.phabricator.com/D18733
This commit is contained in:
parent
a03da0c2af
commit
fbfed82efd
1 changed files with 3 additions and 0 deletions
|
@ -18,6 +18,9 @@ final class PhabricatorDaemonLogEvent extends PhabricatorDaemonDAO {
|
||||||
'logID' => array(
|
'logID' => array(
|
||||||
'columns' => array('logID', 'epoch'),
|
'columns' => array('logID', 'epoch'),
|
||||||
),
|
),
|
||||||
|
'key_epoch' => array(
|
||||||
|
'columns' => array('epoch'),
|
||||||
|
),
|
||||||
),
|
),
|
||||||
) + parent::getConfiguration();
|
) + parent::getConfiguration();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue