<div dir="ltr">Yes, that's outr case, I can copy what Andrew says.<div><br></div><div>Thank you for looking at that, Pavol!</div><div><br></div><div>Most nerving thing is that it is slow even on "Browse repo" level, where I would expect to list everything fast (because there is no extra decoration)</div><div><br></div><div>have a great day! Petr</div></div><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><p><span style="font-family:Arial,sans-serif;font-size:10pt">--</span></p><p><span style="font-family:Arial,sans-serif;font-size:10pt">s pozdravem</span></p><table style="font-family:Verdana,Arial,Helvetica,sans-serif;border-collapse:collapse;padding:0px;margin:0px;border-width:0px!important;border-style:solid!important;width:482px!important"><tbody><tr style="padding:0px;margin:0px;border:0px solid gray!important"><td style="color:rgb(0,0,0);font-family:Arial,sans-serif;font-size:11px;width:160px;vertical-align:bottom;padding:0px;border:0px solid gray!important"><p><span style="font-size:14px;font-weight:bold">Petr Gašparík</span><br>solution architect<br><br>gsm: [+420] 603 523 860<br>e-mail: <a href="mailto:petr.gasparik@ami.cz" target="_blank">petr.gasparik@ami.cz</a></p></td><td style="color:rgb(0,0,0);font-family:Verdana,Arial,Helvetica,sans-serif;font-size:10px;border-right-width:1px;border-right-style:solid;border-right-color:rgb(204,204,204);padding:0px;border-top-width:0px!important;border-bottom-width:0px!important;border-left-width:0px!important;border-top-style:solid!important;border-bottom-style:solid!important;border-left-style:solid!important;border-top-color:gray!important;border-bottom-color:gray!important;border-left-color:gray!important">   </td><td style="color:rgb(0,0,0);font-family:Verdana,Arial,Helvetica,sans-serif;font-size:10px;padding:0px;border:0px solid gray!important">   </td><td style="color:rgb(0,0,0);font-family:Arial,sans-serif;font-size:11px;vertical-align:bottom;padding:0px;width:123px;border:0px solid gray!important"><p>AMI Praha a.s.<br>Pláničkova 11<br>162 00 Praha 6<br>tel.: [+420] 274 783 239<br>web: <a href="http://www.ami.cz/" target="_blank">www.ami.cz</a></p></td><td style="color:rgb(0,0,0);font-family:Verdana,Arial,Helvetica,sans-serif;font-size:10px;border-right-width:1px;border-right-style:solid;border-right-color:rgb(204,204,204);padding:0px;border-top-width:0px!important;border-bottom-width:0px!important;border-left-width:0px!important;border-top-style:solid!important;border-bottom-style:solid!important;border-left-style:solid!important;border-top-color:gray!important;border-bottom-color:gray!important;border-left-color:gray!important">   </td><td style="color:rgb(0,0,0);font-family:Verdana,Arial,Helvetica,sans-serif;font-size:10px;padding:0px;border:0px solid gray!important">   </td><td style="color:rgb(0,0,0);font-family:Arial,sans-serif;font-size:11px;margin:8px;border:0px solid gray!important;width:116px"><p><img src="http://www.ami.cz/images/podpis/ami_logo.gif" alt="AMI Praha a.s." style="border:0px"></p></td></tr><tr style="padding:0px;margin:0px;border:0px solid gray!important"><td colspan="7" style="color:rgb(0,0,0);font-family:Verdana,Arial,Helvetica,sans-serif;font-size:10px;padding:0px;width:480px;border:0px solid gray!important"><br></td></tr><tr style="padding:0px;margin:0px;border:0px solid gray!important"><td colspan="7" style="color:rgb(128,128,128);font-family:Arial,sans-serif;font-size:11px;padding:0px;border:0px solid gray!important">Textem tohoto e-mailu podepisující neslibuje uzavřít ani neuzavírá za společnost AMI Praha a.s.<br>jakoukoliv smlouvu. Každá smlouva, pokud bude uzavřena, musí mít výhradně písemnou formu.<br><br></td></tr></tbody></table></div></div></div></div></div>
<br><div class="gmail_quote">2018-07-28 16:51 GMT+02:00 Pavol Mederly <span dir="ltr"><<a href="mailto:mederly@evolveum.com" target="_blank">mederly@evolveum.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Andrew,<br>
<br>
now I see I am going to have a look at it anyhow: <a href="https://jira.evolveum.com/browse/MID-4776" rel="noreferrer" target="_blank">https://jira.evolveum.com/brow<wbr>se/MID-4776</a>. I will let you know.<span class="im HOEnZb"><br>
<br>
Pavol Mederly<br>
Software developer<br>
<a href="http://evolveum.com" rel="noreferrer" target="_blank">evolveum.com</a><br>
<br></span><div class="HOEnZb"><div class="h5">
On 28.07.2018 10:39, Pavol Mederly wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hello Andrew,<br>
<br>
how long does it take to display the user list (in GUI) in your case?<br>
<br>
I know the query is like you say - and we know it can be optimized - but in reality the SQL command sent to the database should limit the results to first 20 records, so it should be faster than processing SQL query without limits. (Anyway, we can sort this out if needed.)<br>
<br>
As for the columns, please have a look at "Custom columns configuration" in <a href="https://wiki.evolveum.com/display/midPoint/Admin+GUI+Configuration" rel="noreferrer" target="_blank">https://wiki.evolveum.com/disp<wbr>lay/midPoint/Admin+GUI+Configu<wbr>ration</a>.<br>
<br>
Hope this helps,<br>
<br>
Pavol Mederly<br>
Software developer<br>
<a href="http://evolveum.com" rel="noreferrer" target="_blank">evolveum.com</a><br>
<br>
On 27.07.2018 18:03, Andrew Morgan wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
We are running midPoint v3.7.2 (we delayed upgrading to v3.8 because the Google connector is broken).  We recently loaded about 110,000 users in midPoint.  When I click on Users > List Users, midPoint is waiting for the results of this database query:<br>
<br>
MariaDB [midpointdev]> explain select ruser0_.oid as col_0_0_, ruser0_2_.fullObject as col_1_0_, ruser0_2_.stringsCount as col_2_0_, ruser0_2_.longsCount as col_3_0_, ruser0_2_.datesCount as col_4_0_, ruser0_2_.referencesCount as col_5_0_, ruser0_2_.polysCount as col_6_0_, ruser0_2_.booleansCount as col_7_0_ from m_user ruser0_ inner join m_focus ruser0_1_ on ruser0_.oid=ruser0_1_.oid inner join m_object ruser0_2_ on ruser0_.oid=ruser0_2_.oid order by ruser0_2_.name_orig asc;<br>
+------+-------------+--------<wbr>---+--------+---------------+-<wbr>-------------+---------+------<wbr>-------------------+--------+-<wbr>------------------------------<wbr>---------------+ <br>
| id   | select_type | table     | type   | possible_keys | key          | key_len | ref                     | rows   | Extra                         <wbr>               |<br>
+------+-------------+--------<wbr>---+--------+---------------+-<wbr>-------------+---------+------<wbr>-------------------+--------+-<wbr>------------------------------<wbr>---------------+ <br>
|    1 | SIMPLE      | ruser0_   | index  | PRIMARY       | uc_user_name | 768     | NULL                    | 100839 | Using index; Using temporary; Using filesort |<br>
|    1 | SIMPLE      | ruser0_1_ | eq_ref | PRIMARY       | PRIMARY      | 110     | midpointdev.ruser0_.oid |      1 | Using index                         <wbr>         |<br>
|    1 | SIMPLE      | ruser0_2_ | eq_ref | PRIMARY       | PRIMARY      | 110     | midpointdev.ruser0_.oid |      1 |                             <wbr>                 |<br>
+------+-------------+--------<wbr>---+--------+---------------+-<wbr>-------------+---------+------<wbr>-------------------+--------+-<wbr>------------------------------<wbr>---------------+ <br>
<br>
Without the aliases, it is a little easier to read:<br>
<br>
MariaDB [midpointdev]> explain select m_user.oid, m_object.fullObject, m_object.stringsCount, m_object.longsCount, m_object.datesCount, m_object.referencesCount, m_object.polysCount, m_object.booleansCount from m_user inner join m_focus on m_user.oid=m_focus.oid inner join m_object on m_user.oid=m_object.oid order by m_object.name_orig asc;<br>
+------+-------------+--------<wbr>--+--------+---------------+--<wbr>------------+---------+-------<wbr>-----------------+--------+---<wbr>------------------------------<wbr>-------------+ <br>
| id   | select_type | table    | type   | possible_keys | key          | key_len | ref                    | rows   | Extra                         <wbr>               |<br>
+------+-------------+--------<wbr>--+--------+---------------+--<wbr>------------+---------+-------<wbr>-----------------+--------+---<wbr>------------------------------<wbr>-------------+ <br>
|    1 | SIMPLE      | m_user   | index  | PRIMARY       | uc_user_name | 768     | NULL                   | 100839 | Using index; Using temporary; Using filesort |<br>
|    1 | SIMPLE      | m_focus  | eq_ref | PRIMARY       | PRIMARY      | 110     | midpointdev.m_user.oid |      1 | Using index                         <wbr>         |<br>
|    1 | SIMPLE      | m_object | eq_ref | PRIMARY       | PRIMARY      | 110     | midpointdev.m_user.oid |      1 |                             <wbr>                 |<br>
+------+-------------+--------<wbr>--+--------+---------------+--<wbr>------------+---------+-------<wbr>-----------------+--------+---<wbr>------------------------------<wbr>-------------+ <br>
<br>
The result of this query is about 440MB of data.  "111690 rows in set (22.84 sec)"  (BTW, join on m_focus isn't needed in this query, right?)<br>
<br>
That is a LOT of data to push around anytime the Users list is loaded.  We haven't even loaded all of our users yet!  Our total user population is around 350,000.<br>
<br>
Is there a way to set some defaults for the User list?  For example, could I change it to not display anything until a search is performed?  Ideally, it wouldn't try to fetch m_object.fullObject, at least until some filter is added.<br>
<br>
On a somewhat related note, I'd like to change which columns are displayed in the User list.  For example, I would remove Fullname and Email and add one of our custom attributes (extension/username).  Is that possible?<br>
<br>
Thanks,<br>
<br>
Andy Morgan<br>
Systems Administrator, Identity & Access Management<br>
Information Services | Oregon State University<br>
541-737-8877 | <a href="http://is.oregonstate.edu" rel="noreferrer" target="_blank">is.oregonstate.edu</a><br>
______________________________<wbr>_________________<br>
midPoint mailing list<br>
<a href="mailto:midPoint@lists.evolveum.com" target="_blank">midPoint@lists.evolveum.com</a><br>
<a href="http://lists.evolveum.com/mailman/listinfo/midpoint" rel="noreferrer" target="_blank">http://lists.evolveum.com/mail<wbr>man/listinfo/midpoint</a><br>
</blockquote>
<br>
______________________________<wbr>_________________<br>
midPoint mailing list<br>
<a href="mailto:midPoint@lists.evolveum.com" target="_blank">midPoint@lists.evolveum.com</a><br>
<a href="http://lists.evolveum.com/mailman/listinfo/midpoint" rel="noreferrer" target="_blank">http://lists.evolveum.com/mail<wbr>man/listinfo/midpoint</a><br>
</blockquote>
<br>
______________________________<wbr>_________________<br>
midPoint mailing list<br>
<a href="mailto:midPoint@lists.evolveum.com" target="_blank">midPoint@lists.evolveum.com</a><br>
<a href="http://lists.evolveum.com/mailman/listinfo/midpoint" rel="noreferrer" target="_blank">http://lists.evolveum.com/mail<wbr>man/listinfo/midpoint</a><br>
</div></div></blockquote></div><br></div>