Re: Consecutive Query Executions with Increasing Execution Time
Shijia Wei <[email protected]> Mon, 16 Dec 2019 03:51:24 -0600
| Newsgroups | gmane.comp.db.postgresql.performance |
|---|---|
| Message-ID | <CABSfb-5ZcO48K5sS0oM3njQYpTo-K2MdxMZ1pM0DpiBFGPqw9g@mail.gmail.com> |
--000000000000a919030599cf293f Content-Type: text/plain; charset="UTF-8" Hi Olivier, I do not think that the queries are executed concurrently. The bash for loop ensures that the next command fires only after the first returns. Also for some 'complex' queries, even a wait-period that is longer than the total execution time does not completely avoid this effect. For example, a wait-period of 5-second in between queries that take 2-second to run, does not help avoid the increasing runtime problem completely. Thanks, Shijia On Mon, Dec 16, 2019 at 2:04 AM Olivier Gautherot <[email protected]> wrote: > Hi Shijia, > > It sounds like concurrency on the queries: the second starts before the > first ends, and so on. With a short wait in between you ensure sequential > execution. Notice that you also have the overhead of concurrent psql... > > Sounds normal to me. > > Best regards > Olivier > > > On Mon, Dec 16, 2019, 07:00 Shijia Wei <[email protected]> wrote: > >> Hi all, >> >> I am running TPC-H on recent postgresql (12.0 and 12.1). >> On some of the queries (that may involve parallel scans) I see this >> interesting behavior: >> When these queries are executed back-to-back (sent from psql interactive >> terminal), the total execution time of them increase monotonically. >> >> I simplified query-1 to demonstrate this effect: >> ``` example.sql >> explain (analyze, buffers) select >> max(l_shipdate) as max_data, >> count(*) as count_order >> from >> lineitem >> where >> l_shipdate <= date '1998-12-01' - interval '20' day; >> ``` >> >> When I execute (from fish) following command: >> `for i in (seq 1 20); psql tpch < example.sql | grep Execution; end` >> The results I get are as follows: >> " >> Execution Time: 184.864 ms >> Execution Time: 192.758 ms >> Execution Time: 197.380 ms >> Execution Time: 200.384 ms >> Execution Time: 202.950 ms >> Execution Time: 205.695 ms >> Execution Time: 208.082 ms >> Execution Time: 209.108 ms >> Execution Time: 212.428 ms >> Execution Time: 214.539 ms >> Execution Time: 215.799 ms >> Execution Time: 219.057 ms >> Execution Time: 222.102 ms >> Execution Time: 223.779 ms >> Execution Time: 227.819 ms >> Execution Time: 229.710 ms >> Execution Time: 239.439 ms >> Execution Time: 237.649 ms >> Execution Time: 249.178 ms >> Execution Time: 261.268 ms >> " >> In addition, if the repeated more times, the total execution time can end >> up being 10X and more!!! >> >> When there a wait period in-between queries, (e.g. sleep 10) in the >> above for loop, this increasing execution time behavior goes a way. >> For more complex queries, the "wait period" needs to be longer to avoid >> the increase in execution time. >> >> Some metadata about this table "lineitem": >> tpch=# \d lineitem >> Table "public.lineitem" >> Column | Type | Collation | Nullable | Default >> -----------------+-----------------------+-----------+----------+--------- >> l_orderkey | integer | | not null | >> l_partkey | integer | | not null | >> l_suppkey | integer | | not null | >> l_linenumber | integer | | not null | >> l_quantity | numeric(15,2) | | not null | >> l_extendedprice | numeric(15,2) | | not null | >> l_discount | numeric(15,2) | | not null | >> l_tax | numeric(15,2) | | not null | >> l_returnflag | character(1) | | not null | >> l_linestatus | character(1) | | not null | >> l_shipdate | date | | not null | >> l_commitdate | date | | not null | >> l_receiptdate | date | | not null | >> l_shipinstruct | character(25) | | not null | >> l_shipmode | character(10) | | not null | >> l_comment | character varying(44) | | not null | >> Indexes: >> "i_l_commitdate" btree (l_commitdate) >> "i_l_orderkey" btree (l_orderkey) >> "i_l_orderkey_quantity" btree (l_orderkey, l_quantity) >> "i_l_partkey" btree (l_partkey) >> "i_l_receiptdate" btree (l_receiptdate) >> "i_l_shipdate" btree (l_shipdate) >> "i_l_suppkey" btree (l_suppkey) >> "i_l_suppkey_partkey" btree (l_partkey, l_suppkey) >> >> tpch=# SELECT relname, relpages, reltuples, relallvisible, relkind, >> relnatts, relhassubclass, reloptions, pg_table_size(oid) FROM pg_class >> WHERE relname='lineitem'; >> relname | relpages | reltuples | relallvisible | relkind | relnatts >> | relhassubclass | reloptions | pg_table_size >> >> ----------+----------+--------------+---------------+---------+----------+----------------+------------+--------------- >> lineitem | 112503 | 6.001167e+06 | 112503 | r | 16 >> | f | | 921903104 >> (1 row) >> >> Postgresql 12.0 and 12.1 are all manually installed from source. >> Both are running on Ubuntu 16.04 kernel 4.4.0-142-generic, on Intel(R) >> Core(TM) i7-6700K. >> >> >> Any help greatly appreciated! >> >> Shijia >> > -- *Shijia Wei* ECE, UT Austin | ACSES | 3rd Year PhD [email protected] | https://0x161e-swei.github.io --000000000000a919030599cf293f Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"><div class=3D"gmail_default" style=3D"font-family:arial,he= lvetica,sans-serif">Hi=C2=A0Olivier,</div><div class=3D"gmail_default" styl= e=3D"font-family:arial,helvetica,sans-serif"><br></div><div class=3D"gmail_= default" style=3D"font-family:arial,helvetica,sans-serif">I do not think th= at=C2=A0the queries are executed concurrently. The bash for loop ensures th= at the next command fires only after the first returns.</div><div class=3D"= gmail_default" style=3D"font-family:arial,helvetica,sans-serif">Also for so= me 'complex' queries, even a wait-period that is longer than the to= tal execution time does not completely avoid this effect.</div><div class= =3D"gmail_default" style=3D"font-family:arial,helvetica,sans-serif">For exa= mple, a wait-period of 5-second in between=C2=A0queries that take 2-second = to run, does not help avoid the increasing <span class=3D"" id=3D":11c.1" t= abindex=3D"-1" style=3D"">runtime</span> problem completely.</div><div clas= s=3D"gmail_default" style=3D"font-family:arial,helvetica,sans-serif"><br></= div><div class=3D"gmail_default" style=3D"font-family:arial,helvetica,sans-= serif">Thanks,</div><div class=3D"gmail_default" style=3D"font-family:arial= ,helvetica,sans-serif"><span class=3D"" id=3D":11c.2" tabindex=3D"-1" style= =3D"">Shijia</span></div><div class=3D"gmail_default" style=3D"font-family:= arial,helvetica,sans-serif"><br></div></div><br><div class=3D"gmail_quote">= <div dir=3D"ltr" class=3D"gmail_attr">On Mon, Dec 16, 2019 at 2:04 AM Olivi= er Gautherot <<a href=3D"mailto:[email protected]" target=3D"_bla= nk">[email protected]</a>> wrote:<br></div><blockquote class=3D"g= mail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204= ,204,204);padding-left:1ex"><div dir=3D"auto"><div>Hi Shijia,<br><br>It sou= nds like concurrency on the queries: the second starts before the first end= s, and so on. With a short wait in between you ensure sequential execution.= Notice that you also have the overhead of concurrent psql...</div><div dir= =3D"auto"><br></div><div dir=3D"auto">Sounds normal to me.</div><div dir=3D= "auto"><br></div><div dir=3D"auto">Best regards</div><div dir=3D"auto">Oliv= ier</div><div dir=3D"auto"><br></div><div dir=3D"auto"><br><div class=3D"gm= ail_quote" dir=3D"auto"><div dir=3D"ltr" class=3D"gmail_attr">On Mon, Dec 1= 6, 2019, 07:00 Shijia Wei <<a href=3D"mailto:[email protected]" targe= t=3D"_blank">[email protected]</a>> wrote:<br></div><blockquote class= =3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rg= b(204,204,204);padding-left:1ex"><div dir=3D"ltr"><div class=3D"gmail_defau= lt" style=3D"font-family:arial,helvetica,sans-serif">Hi all,</div><div clas= s=3D"gmail_default" style=3D"font-family:arial,helvetica,sans-serif"><br></= div><div class=3D"gmail_default" style=3D"font-family:arial,helvetica,sans-= serif">I am running <span id=3D"gmail-m_-5795010130150494850gmail-m_-875680= 0177654151280m_4960127569523798833:1wh.1">TPC</span>-H on recent <span id= =3D"gmail-m_-5795010130150494850gmail-m_-8756800177654151280m_4960127569523= 798833:1wh.2">postgresql</span> (12.0 and 12.1).</div><div class=3D"gmail_d= efault" style=3D"font-family:arial,helvetica,sans-serif">On some of the que= ries (that may involve parallel scans) I see this interesting behavior:</di= v><div class=3D"gmail_default" style=3D"font-family:arial,helvetica,sans-se= rif">When these queries are executed back-to-back (sent from <span id=3D"gm= ail-m_-5795010130150494850gmail-m_-8756800177654151280m_4960127569523798833= :1wh.3">psql</span> interactive terminal), the total execution time of them= increase=C2=A0monotonically.</div><div class=3D"gmail_default" style=3D"fo= nt-family:arial,helvetica,sans-serif"><br></div><div class=3D"gmail_default= " style=3D"font-family:arial,helvetica,sans-serif">I simplified query-1 to = demonstrate this effect:</div><div class=3D"gmail_default"><font face=3D"mo= nospace">``` example.<span id=3D"gmail-m_-5795010130150494850gmail-m_-87568= 00177654151280m_4960127569523798833:1wh.4">sql</span></font></div><div clas= s=3D"gmail_default"><font face=3D"monospace">explain (analyze, buffers) sel= ect<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 max(l_<span id=3D"gmail-m_-5795010130150= 494850gmail-m_-8756800177654151280m_4960127569523798833:1wh.5">shipdate</sp= an>) as max_data,<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 count(*) as count_order<br= >from<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 <span id=3D"gmail-m_-57950101301504948= 50gmail-m_-8756800177654151280m_4960127569523798833:1wh.6">lineitem</span><= br>where<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 l_<span id=3D"gmail-m_-579501013015= 0494850gmail-m_-8756800177654151280m_4960127569523798833:1wh.7">shipdate</s= pan> <=3D date '1998-12-01' - interval '20' day;<br>```<= /font></div><div class=3D"gmail_default"><font face=3D"monospace"><br></fon= t></div><div class=3D"gmail_default"><font face=3D"arial, helvetica, sans-s= erif">When I execute (from fish) following command:</font><br><font face=3D= "monospace">`for i in (seq 1 20); <span id=3D"gmail-m_-5795010130150494850g= mail-m_-8756800177654151280m_4960127569523798833:1wh.8">psql</span> <span i= d=3D"gmail-m_-5795010130150494850gmail-m_-8756800177654151280m_496012756952= 3798833:1wh.9">tpch</span> < example.<span id=3D"gmail-m_-57950101301504= 94850gmail-m_-8756800177654151280m_4960127569523798833:1wh.10">sql</span> |= grep Execution; end`</font><br><font face=3D"arial, helvetica, sans-serif"= >The results I get are as follows:</font><br><font face=3D"arial, helvetica= , sans-serif">"</font><br><font face=3D"arial, helvetica, sans-serif">= =C2=A0Execution Time: 184.864 ms</font><br><font face=3D"arial, helvetica, = sans-serif">=C2=A0Execution Time: 192.758 ms</font><br><font face=3D"arial,= helvetica, sans-serif">=C2=A0Execution Time: 197.380 ms</font><br><font fa= ce=3D"arial, helvetica, sans-serif">=C2=A0Execution Time: 200.384 ms</font>= <br><font face=3D"arial, helvetica, sans-serif">=C2=A0Execution Time: 202.9= 50 ms</font><br><font face=3D"arial, helvetica, sans-serif">=C2=A0Execution= Time: 205.695 ms</font><br><font face=3D"arial, helvetica, sans-serif">=C2= =A0Execution Time: 208.082 ms</font><br><font face=3D"arial, helvetica, san= s-serif">=C2=A0Execution Time: 209.108 ms</font><br><font face=3D"arial, he= lvetica, sans-serif">=C2=A0Execution Time: 212.428 ms</font><br><font face= =3D"arial, helvetica, sans-serif">=C2=A0Execution Time: 214.539 ms</font><b= r><font face=3D"arial, helvetica, sans-serif">=C2=A0Execution Time: 215.799= ms</font><br><font face=3D"arial, helvetica, sans-serif">=C2=A0Execution T= ime: 219.057 ms</font><br><font face=3D"arial, helvetica, sans-serif">=C2= =A0Execution Time: 222.102 ms</font><br><font face=3D"arial, helvetica, san= s-serif">=C2=A0Execution Time: 223.779 ms</font><br><font face=3D"arial, he= lvetica, sans-serif">=C2=A0Execution Time: 227.819 ms</font><br><font face= =3D"arial, helvetica, sans-serif">=C2=A0Execution Time: 229.710 ms</font><b= r><font face=3D"arial, helvetica, sans-serif">=C2=A0Execution Time: 239.439= ms</font><br><font face=3D"arial, helvetica, sans-serif">=C2=A0Execution T= ime: 237.649 ms</font><br><font face=3D"arial, helvetica, sans-serif">=C2= =A0Execution Time: 249.178 ms</font><br><font face=3D"arial, helvetica, san= s-serif">=C2=A0Execution Time: 261.268 ms</font><br><font face=3D"arial, he= lvetica, sans-serif">"</font></div><div class=3D"gmail_default"><font = face=3D"arial, helvetica, sans-serif">In addition, if the repeated more tim= es, the total execution time can end up being 10X and more!!!</font></div><= div class=3D"gmail_default"><font face=3D"arial, helvetica, sans-serif"><br= ></font></div><div class=3D"gmail_default"><font face=3D"arial, helvetica, = sans-serif">When there a wait period in-between queries, (e.g. </font><font= face=3D"monospace">sleep 10</font><font face=3D"arial, helvetica, sans-ser= if">) in the above for loop, this increasing execution time behavior goes a= way.</font></div><div class=3D"gmail_default"><font face=3D"arial, helveti= ca, sans-serif">For more complex queries, the "wait period" needs= to be longer to avoid the increase in execution time.</font></div><div cla= ss=3D"gmail_default" style=3D"font-family:arial,helvetica,sans-serif"><br>S= ome <span id=3D"gmail-m_-5795010130150494850gmail-m_-8756800177654151280m_4= 960127569523798833:1wh.11">metadata</span> about this table "<span id= =3D"gmail-m_-5795010130150494850gmail-m_-8756800177654151280m_4960127569523= 798833:1wh.12">lineitem</span>":</div><div class=3D"gmail_default"><fo= nt face=3D"monospace"><span id=3D"gmail-m_-5795010130150494850gmail-m_-8756= 800177654151280m_4960127569523798833:1wh.13">tpch</span>=3D# \d <span id=3D= "gmail-m_-5795010130150494850gmail-m_-8756800177654151280m_4960127569523798= 833:1wh.14">lineitem</span><br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Table "public.<span id= =3D"gmail-m_-5795010130150494850gmail-m_-8756800177654151280m_4960127569523= 798833:1wh.15">lineitem</span>"<br>=C2=A0 =C2=A0 =C2=A0Column =C2=A0 = =C2=A0 =C2=A0| =C2=A0 =C2=A0 =C2=A0 =C2=A0 Type =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0| Collation | <span id=3D"gmail-m_-5795010130150494850gmail-m_-87568= 00177654151280m_4960127569523798833:1wh.16">Nullable</span> | Default<br>--= ---------------+-----------------------+-----------+----------+---------<br= >=C2=A0l_<span id=3D"gmail-m_-5795010130150494850gmail-m_-87568001776541512= 80m_4960127569523798833:1wh.17">orderkey</span> =C2=A0 =C2=A0 =C2=A0| integ= er =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 | =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 | not null |<br>=C2=A0l_<span id=3D"gmail-m_-5795010130150494= 850gmail-m_-8756800177654151280m_4960127569523798833:1wh.18">partkey</span>= =C2=A0 =C2=A0 =C2=A0 | integer =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 | =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 | not null |<br>=C2=A0l_<span i= d=3D"gmail-m_-5795010130150494850gmail-m_-8756800177654151280m_496012756952= 3798833:1wh.19">suppkey</span> =C2=A0 =C2=A0 =C2=A0 | integer =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 | =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 | = not null |<br>=C2=A0l_<span id=3D"gmail-m_-5795010130150494850gmail-m_-8756= 800177654151280m_4960127569523798833:1wh.20">linenumber</span> =C2=A0 =C2= =A0| integer =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 | =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 | not null |<br>=C2=A0l_quantity =C2=A0 =C2=A0 =C2= =A0| numeric(15,2) =C2=A0 =C2=A0 =C2=A0 =C2=A0 | =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 | not null |<br>=C2=A0l_<span id=3D"gmail-m_-5795010130150494850= gmail-m_-8756800177654151280m_4960127569523798833:1wh.21">extendedprice</sp= an> | numeric(15,2) =C2=A0 =C2=A0 =C2=A0 =C2=A0 | =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 | not null |<br>=C2=A0l_discount =C2=A0 =C2=A0 =C2=A0| numeric(1= 5,2) =C2=A0 =C2=A0 =C2=A0 =C2=A0 | =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 | not= null |<br>=C2=A0l_tax =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 | numeric(15,2) = =C2=A0 =C2=A0 =C2=A0 =C2=A0 | =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 | not null= |<br>=C2=A0l_<span id=3D"gmail-m_-5795010130150494850gmail-m_-875680017765= 4151280m_4960127569523798833:1wh.22">returnflag</span> =C2=A0 =C2=A0| chara= cter(1) =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0| =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 | not null |<br>=C2=A0l_<span id=3D"gmail-m_-5795010130150494850gmail-m= _-8756800177654151280m_4960127569523798833:1wh.23">linestatus</span> =C2=A0= =C2=A0| character(1) =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0| =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 | not null |<br>=C2=A0l_<span id=3D"gmail-m_-579501013015= 0494850gmail-m_-8756800177654151280m_4960127569523798833:1wh.24">shipdate</= span> =C2=A0 =C2=A0 =C2=A0| date =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0| =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 | not null |<br>= =C2=A0l_<span id=3D"gmail-m_-5795010130150494850gmail-m_-875680017765415128= 0m_4960127569523798833:1wh.25">commitdate</span> =C2=A0 =C2=A0| date =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0| =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 | not null |<br>=C2=A0l_<span id=3D"gmail-m_-579501013015= 0494850gmail-m_-8756800177654151280m_4960127569523798833:1wh.26">receiptdat= e</span> =C2=A0 | date =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0| =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 | not null |<br>=C2=A0l_<spa= n id=3D"gmail-m_-5795010130150494850gmail-m_-8756800177654151280m_496012756= 9523798833:1wh.27">shipinstruct</span> =C2=A0| character(25) =C2=A0 =C2=A0 = =C2=A0 =C2=A0 | =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 | not null |<br>=C2=A0l_= <span id=3D"gmail-m_-5795010130150494850gmail-m_-8756800177654151280m_49601= 27569523798833:1wh.28">shipmode</span> =C2=A0 =C2=A0 =C2=A0| character(10) = =C2=A0 =C2=A0 =C2=A0 =C2=A0 | =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 | not null= |<br>=C2=A0l_comment =C2=A0 =C2=A0 =C2=A0 | character varying(44) | =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 | not null |<br>Indexes:<br>=C2=A0 =C2=A0 &quo= t;i_l_<span id=3D"gmail-m_-5795010130150494850gmail-m_-8756800177654151280m= _4960127569523798833:1wh.29">commitdate</span>" <span id=3D"gmail-m_-5= 795010130150494850gmail-m_-8756800177654151280m_4960127569523798833:1wh.30"= >btree</span> (l_<span id=3D"gmail-m_-5795010130150494850gmail-m_-875680017= 7654151280m_4960127569523798833:1wh.31">commitdate</span>)<br>=C2=A0 =C2=A0= "i_l_<span id=3D"gmail-m_-5795010130150494850gmail-m_-875680017765415= 1280m_4960127569523798833:1wh.32">orderkey</span>" <span id=3D"gmail-m= _-5795010130150494850gmail-m_-8756800177654151280m_4960127569523798833:1wh.= 33">btree</span> (l_<span id=3D"gmail-m_-5795010130150494850gmail-m_-875680= 0177654151280m_4960127569523798833:1wh.34">orderkey</span>)<br>=C2=A0 =C2= =A0 "i_l_<span id=3D"gmail-m_-5795010130150494850gmail-m_-875680017765= 4151280m_4960127569523798833:1wh.35">orderkey</span>_quantity" <span i= d=3D"gmail-m_-5795010130150494850gmail-m_-8756800177654151280m_496012756952= 3798833:1wh.36">btree</span> (l_<span id=3D"gmail-m_-5795010130150494850gma= il-m_-8756800177654151280m_4960127569523798833:1wh.37">orderkey</span>, l_q= uantity)<br>=C2=A0 =C2=A0 "i_l_<span id=3D"gmail-m_-579501013015049485= 0gmail-m_-8756800177654151280m_4960127569523798833:1wh.38">partkey</span>&q= uot; <span id=3D"gmail-m_-5795010130150494850gmail-m_-8756800177654151280m_= 4960127569523798833:1wh.39">btree</span> (l_<span id=3D"gmail-m_-5795010130= 150494850gmail-m_-8756800177654151280m_4960127569523798833:1wh.40">partkey<= /span>)<br>=C2=A0 =C2=A0 "i_l_<span id=3D"gmail-m_-5795010130150494850= gmail-m_-8756800177654151280m_4960127569523798833:1wh.41">receiptdate</span= >" <span id=3D"gmail-m_-5795010130150494850gmail-m_-875680017765415128= 0m_4960127569523798833:1wh.42">btree</span> (l_<span id=3D"gmail-m_-5795010= 130150494850gmail-m_-8756800177654151280m_4960127569523798833:1wh.43">recei= ptdate</span>)<br>=C2=A0 =C2=A0 "i_l_<span id=3D"gmail-m_-579501013015= 0494850gmail-m_-8756800177654151280m_4960127569523798833:1wh.44">shipdate</= span>" <span id=3D"gmail-m_-5795010130150494850gmail-m_-87568001776541= 51280m_4960127569523798833:1wh.45">btree</span> (l_<span id=3D"gmail-m_-579= 5010130150494850gmail-m_-8756800177654151280m_4960127569523798833:1wh.46">s= hipdate</span>)<br>=C2=A0 =C2=A0 "i_l_<span id=3D"gmail-m_-57950101301= 50494850gmail-m_-8756800177654151280m_4960127569523798833:1wh.47">suppkey</= span>" <span id=3D"gmail-m_-5795010130150494850gmail-m_-87568001776541= 51280m_4960127569523798833:1wh.48">btree</span> (l_<span id=3D"gmail-m_-579= 5010130150494850gmail-m_-8756800177654151280m_4960127569523798833:1wh.49">s= uppkey</span>)<br>=C2=A0 =C2=A0 "i_l_<span id=3D"gmail-m_-579501013015= 0494850gmail-m_-8756800177654151280m_4960127569523798833:1wh.50">suppkey</s= pan>_<span id=3D"gmail-m_-5795010130150494850gmail-m_-8756800177654151280m_= 4960127569523798833:1wh.51">partkey</span>" <span id=3D"gmail-m_-57950= 10130150494850gmail-m_-8756800177654151280m_4960127569523798833:1wh.52">btr= ee</span> (l_<span id=3D"gmail-m_-5795010130150494850gmail-m_-8756800177654= 151280m_4960127569523798833:1wh.53">partkey</span>, l_<span id=3D"gmail-m_-= 5795010130150494850gmail-m_-8756800177654151280m_4960127569523798833:1wh.54= ">suppkey</span>)<br></font></div><div class=3D"gmail_default"><font face= =3D"monospace"><br></font></div><div class=3D"gmail_default"><font face=3D"= monospace"><span id=3D"gmail-m_-5795010130150494850gmail-m_-875680017765415= 1280m_4960127569523798833:1wh.55">tpch</span>=3D# SELECT <span id=3D"gmail-= m_-5795010130150494850gmail-m_-8756800177654151280m_4960127569523798833:1wh= .56">relname</span>, <span id=3D"gmail-m_-5795010130150494850gmail-m_-87568= 00177654151280m_4960127569523798833:1wh.57">relpages</span>, <span id=3D"gm= ail-m_-5795010130150494850gmail-m_-8756800177654151280m_4960127569523798833= :1wh.58">reltuples</span>, <span id=3D"gmail-m_-5795010130150494850gmail-m_= -8756800177654151280m_4960127569523798833:1wh.59">relallvisible</span>, <sp= an id=3D"gmail-m_-5795010130150494850gmail-m_-8756800177654151280m_49601275= 69523798833:1wh.60">relkind</span>, <span id=3D"gmail-m_-579501013015049485= 0gmail-m_-8756800177654151280m_4960127569523798833:1wh.61">relnatts</span>,= <span id=3D"gmail-m_-5795010130150494850gmail-m_-8756800177654151280m_4960= 127569523798833:1wh.62">relhassubclass</span>, <span id=3D"gmail-m_-5795010= 130150494850gmail-m_-8756800177654151280m_4960127569523798833:1wh.63">relop= tions</span>, pg_table_size(<span id=3D"gmail-m_-5795010130150494850gmail-m= _-8756800177654151280m_4960127569523798833:1wh.64">oid</span>) FROM pg_clas= s WHERE <span id=3D"gmail-m_-5795010130150494850gmail-m_-875680017765415128= 0m_4960127569523798833:1wh.65">relname</span>=3D'lineitem';<br>=C2= =A0<span id=3D"gmail-m_-5795010130150494850gmail-m_-8756800177654151280m_49= 60127569523798833:1wh.66">relname</span> =C2=A0| <span id=3D"gmail-m_-57950= 10130150494850gmail-m_-8756800177654151280m_4960127569523798833:1wh.67">rel= pages</span> | =C2=A0<span id=3D"gmail-m_-5795010130150494850gmail-m_-87568= 00177654151280m_4960127569523798833:1wh.68">reltuples</span> =C2=A0 | <span= id=3D"gmail-m_-5795010130150494850gmail-m_-8756800177654151280m_4960127569= 523798833:1wh.69">relallvisible</span> | <span id=3D"gmail-m_-5795010130150= 494850gmail-m_-8756800177654151280m_4960127569523798833:1wh.70">relkind</sp= an> | <span id=3D"gmail-m_-5795010130150494850gmail-m_-8756800177654151280m= _4960127569523798833:1wh.71">relnatts</span> | <span id=3D"gmail-m_-5795010= 130150494850gmail-m_-8756800177654151280m_4960127569523798833:1wh.72">relha= ssubclass</span> | <span id=3D"gmail-m_-5795010130150494850gmail-m_-8756800= 177654151280m_4960127569523798833:1wh.73">reloptions</span> | pg_table_size= <br>----------+----------+--------------+---------------+---------+--------= --+----------------+------------+---------------<br>=C2=A0<span id=3D"gmail= -m_-5795010130150494850gmail-m_-8756800177654151280m_4960127569523798833:1w= h.74">lineitem</span> | =C2=A0 112503 | 6.001167e+06 | =C2=A0 =C2=A0 =C2=A0= =C2=A0112503 | r =C2=A0 =C2=A0 =C2=A0 | =C2=A0 =C2=A0 =C2=A0 16 | f =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0| =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0| =C2=A0 =C2=A0 921903104<br>(1 row)</font><br></div><div class= =3D"gmail_default"><font face=3D"monospace"><br></font></div><div class=3D"= gmail_default"><font face=3D"arial, sans-serif"><span id=3D"gmail-m_-579501= 0130150494850gmail-m_-8756800177654151280m_4960127569523798833:1wh.75">Post= gresql</span> 12.0 and 12.1 are all=C2=A0</font>manually installed from sou= rce.</div><div class=3D"gmail_default"><font face=3D"arial, sans-serif">Bot= h are running on <span id=3D"gmail-m_-5795010130150494850gmail-m_-875680017= 7654151280m_4960127569523798833:1wh.76">Ubuntu</span> 16.04 kernel=C2=A0</f= ont>4.4.0-142-generic, on Intel(R) Core(TM) i7-6700K.</div><div class=3D"gm= ail_default"><br></div><div class=3D"gmail_default"><br></div><div class=3D= "gmail_default">Any help greatly appreciated!</div><div class=3D"gmail_defa= ult"><br></div><div class=3D"gmail_default"><span id=3D"gmail-m_-5795010130= 150494850gmail-m_-8756800177654151280m_4960127569523798833:1wh.77">Shijia</= span></div></div> </blockquote></div></div></div> </blockquote></div><br clear=3D"all"><div><br></div>-- <br><div dir=3D"ltr"= ><div dir=3D"ltr"><div><div dir=3D"ltr"><div><div dir=3D"ltr"><div><div dir= =3D"ltr"><div><div dir=3D"ltr"><div dir=3D"ltr"><font size=3D"2" style=3D"c= olor:rgb(136,136,136)"><font size=3D"1" face=3D"Verdana"><b>Shijia Wei</b><= br>ECE,=C2=A0</font></font><span style=3D"color:rgb(136,136,136);font-famil= y:Verdana;font-size:x-small">UT Austin</span><span style=3D"font-family:Ver= dana;font-size:x-small;color:rgb(136,136,136)">=C2=A0| ACSES | 3rd Year PhD= </span></div><div dir=3D"ltr"><font size=3D"2" style=3D"color:rgb(136,136,1= 36)"><font size=3D"1" face=3D"Verdana"><span><a href=3D"mailto:shijiawei@ut= exas.edu" target=3D"_blank">[email protected]</a></span>=C2=A0|=C2=A0</f= ont></font><font color=3D"#888888" face=3D"Verdana" size=3D"1"><a href=3D"h= ttps://0x161e-swei.github.io" target=3D"_blank">https://0x161e-swei.github.= io</a></font></div></div></div></div></div></div></div></div></div></div></= div> --000000000000a919030599cf293f--