Page MenuHomePhabricator

Add a missing key on DrydockLease
ClosedPublic

Authored by epriestley on Oct 26 2017, 8:20 PM.
Tags
None
Referenced Files
F14035698: D18735.diff
Sun, Nov 10, 7:12 AM
F14028976: D18735.id44972.diff
Fri, Nov 8, 6:34 PM
F14016249: D18735.id44972.diff
Mon, Nov 4, 7:29 AM
F14006773: D18735.id44972.diff
Mon, Oct 28, 4:58 PM
F14006728: D18735.id44972.diff
Mon, Oct 28, 3:49 PM
F14004413: D18735.id44966.diff
Sat, Oct 26, 8:13 PM
F13955512: D18735.id.diff
Mon, Oct 14, 1:44 AM
Unknown Object (File)
Sep 20 2024, 10:32 AM
Subscribers
Restricted Owners Package

Details

Summary

Depends on D18734. See PHI176. We run this query on the main Drydock lease web UI, among other places. There is currently no status key which can satisfy it.

Test Plan

Viewed Drydock lease page to get the query.

Ran explain SELECT * FROM `drydock_lease` WHERE (status IN ('pending', 'acquired', 'active')) ORDER BY `id` DESC LIMIT 101; before and after the change.

I don't have a ton of leases locally so the un-key'd EXPLAIN isn't that bad, but still shows that we're getting a better key. Before:

mysql> explain SELECT * FROM `drydock_lease` WHERE (status IN ('pending', 'acquired', 'active')) ORDER BY `id` DESC LIMIT 101;
+----+-------------+---------------+-------+---------------+---------+---------+------+------+-------------+
| id | select_type | table         | type  | possible_keys | key     | key_len | ref  | rows | Extra       |
+----+-------------+---------------+-------+---------------+---------+---------+------+------+-------------+
|  1 | SIMPLE      | drydock_lease | index | NULL          | PRIMARY | 4       | NULL |  101 | Using where |
+----+-------------+---------------+-------+---------------+---------+---------+------+------+-------------+
1 row in set (0.00 sec)

After:

mysql> explain SELECT * FROM `drydock_lease` WHERE (status IN ('pending', 'acquired', 'active')) ORDER BY `id` DESC LIMIT 101;
+----+-------------+---------------+-------+---------------+------------+---------+------+------+---------------------------------------+
| id | select_type | table         | type  | possible_keys | key        | key_len | ref  | rows | Extra                                 |
+----+-------------+---------------+-------+---------------+------------+---------+------+------+---------------------------------------+
|  1 | SIMPLE      | drydock_lease | range | key_status    | key_status | 130     | NULL |    5 | Using index condition; Using filesort |
+----+-------------+---------------+-------+---------------+------------+---------+------+------+---------------------------------------+
1 row in set (0.00 sec)

Diff Detail

Repository
rP Phabricator
Branch
key4
Lint
Lint Passed
Unit
Tests Passed
Build Status
Buildable 18747
Build 25262: Run Core Tests
Build 25261: arc lint + arc unit

Event Timeline

Owners added a subscriber: Restricted Owners Package.Oct 26 2017, 8:20 PM
Harbormaster completed remote builds in B18747: Diff 44966.
This revision is now accepted and ready to land.Oct 26 2017, 9:34 PM
This revision was automatically updated to reflect the committed changes.