<div dir="ltr"><div>Here are two examples of IN lists, that I see in our MySQL slow-query log:<br><br>DELETE FROM `dist_abuild_rpm` WHERE `abuild_id` IN (1370624,<br>1315692, 1315697, 1315705, 1315708, 1315709, 1315718,<br>1315718,1315723, 1315735, 1315747, 1315751, 1315752,<br>1315768, 1315774, 1315784, 1315834, 791557, 1315865,<br>1355269, 1370631, 1315894, 1315922, 1315955, 1315981,<br>1315999, 1377469, 1316063, 1316170, 1355324, 1316209,<br>1316213, 1355329, 1316240, 1316248, 1355332, 1316262,<br>1316272, 1316281, 791998, 1316290, 792008, 1316304,<br>792017, 792019, 1355344, 1316331, 1316348, 792062, 792072,<br>1316371, 792093, 1316384, 792100, 792117, 792119, 1316413,<br>1316414, 792130, 792132, 792133, 1316427, 1316448, 792162,<br>792187, 792201, 792203, 1316512, 1316535, 1316536, 792256,<br>792260, 792266, 792275, 792282, 792288, 1355387, 792293,<br>792296, 792308, 792319, 792323, 792324, 792338, 792345,<br>792350, 792359, 1316649, 792366, 792375, 792377, 1316671,<br>792393, 792397, 792415, 1363507, 1355411, 792444, 1316738,<br>1355414, 792455);  <br><br><br>SELECT AutoTest.dut.dutspec as dutspec, propertyName,<br>value, startTime, endTime FROM rdam.dut<br>JOIN rdam.dut_property on dut_id=<a href="http://rdam.dut.id">rdam.dut.id</a><br>JOIN AutoTest.dut ON AutoTest.dut.dutspec<br>LIKE CONCAT( '%', <a href="http://rdam.dut.name">rdam.dut.name</a> ) WHERE AutoTest.dut.dutspec<br>IN ( 'rdam://ck414', 'rdam://ck417', 'rdam://in343',<br>'rdam://ck411', 'rdam://ckp302', 'rdam://ol391',<br>'rdam://ckp203', 'rdam://in351', 'rdam://hs209',<br>'rdam://yr306', 'rdam://hs211', 'rdam://hs228',<br>'rdam://up486', 'rdam://hs207', 'rdam://snp104',<br>'rdam://hs205', 'rdam://snp105', 'rdam://ckp329',<br>'rdam://ckp304', 'rdam://nv443', 'rdam://ckp201',<br>'rdam://ckp323', 'rdam://ckp320', 'rdam://cd273',<br>'rdam://ckp308', 'rdam://ckp204', 'rdam://up301',<br>'rdam://gb305', 'rdam://nv406', 'rdam://hs106',<br>'rdam://fm393', 'rdam://bn102', 'rdam://fm202',<br>'rdam://ht103', 'rdam://in353', 'rdam://ck408',<br>'rdam://do411', 'rdam://do401', 'rdam://do466',<br>'rdam://do402', 'rdam://ol161', 'rdam://hs103',<br>'rdam://ckp328', 'rdam://lf327', 'rdam://ckp303',<br>'rdam://pts101', 'rdam://tg274', 'rdam://ckp322',<br>'rdam://wa401', 'rdam://hs212', 'rdam://hs214',<br>'rdam://lf120', 'rdam://wa444', 'rdam://ckp202',<br>'rdam://fm204', 'rdam://ol421', 'rdam://tg422',<br>'rdam://tcp106', 'rdam://yr302', 'rdam://cd343',<br>'rdam://cp131', 'rdam://cd369', 'rdam://psp103',<br>'rdam://hs112', 'rdam://psp101', 'rdam://ht238',<br>'rdam://lf244', 'rdam://nv210', 'rdam://in472',<br>'rdam://lp110', 'rdam://ht422', 'rdam://tcp105',<br>'rdam://in474' );       <br><br></div>If anyone feels like speeding them up, I'm interested.                  <br></div><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Sep 25, 2016 at 9:05 PM, Dylan Hardison <span dir="ltr"><<a href="mailto:dylan@mozilla.com" target="_blank">dylan@mozilla.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=""><br>
> On Sep 25, 2016, at 23:51, Jeff Fearn <<a href="mailto:jfearn@redhat.com">jfearn@redhat.com</a>> wrote:<br>
><br>
>> There are a whole class of these -- anything that is a 'multiselect' type search. I believe someone suggested embedding these queries (at least as an option)<br>
>> as a sub select and in general I think that's a good idea. An even nicer idea is to just let elastic search do the searching.<br>
>> One of these approaches I hope to explore with an outreachy intern.<br>
><br>
> The effect of using ID lists instead of sub selects is wider than just<br>
> searching, as the above patch demonstrates.<br>
><br>
</span>Noted :-)<br>
<span class=""><br>
<br>
><br>
> I ran this on a copy of our DB and it seems to perform well. I did have<br>
> to chop off the order by as it's not leagl in Pg to have a group by<br>
> clause and then order by things not in the group by clause or an<br>
> aggregate function.<br>
<br>
</span>I would hope that offending code is only generated by the (mysql) parts of Bugzilla::DB::*. I'll verify that before getting that ready for review.-<br>
<span class="">To view or change your list settings, click here:<br>
</span><<a href="https://lists.bugzilla.org/cgi-bin/mj_wwwusr?user=lindsay@arista.com" rel="noreferrer" target="_blank">https://lists.bugzilla.org/<wbr>cgi-bin/mj_wwwusr?user=<wbr>lindsay@arista.com</a>><br>
</blockquote></div><br></div>