BRIN Scan: Optimize memory allocation in function 'bringetbitmap' - Mailing list pgsql-hackers

From Jinyu Zhang
Subject BRIN Scan: Optimize memory allocation in function 'bringetbitmap'
Date
Msg-id 716fe8fb.4102.1500da7d084.Coremail.beijing_pg@163.com
Whole thread Raw
Responses Re: BRIN Scan: Optimize memory allocation in function 'bringetbitmap'  (Simon Riggs <simon@2ndQuadrant.com>)
List pgsql-hackers
<div style="line-height:1.7;color:#000000;font-size:14px;font-family:Arial"><br />BRIN Scan: Optimize memory allocation
infunction 'bringetbitmap'.<br />We can allocate memory for some pointer before do long loop instead of allocating <br
/>memoryin long loop.<br /><br />Before optimizing code (warm run)<br />postgres=# select count(*) from lineitem where
l_orderkey=1;<br/> count <br />-------<br />     6<br />(1 row)<br /><br />Time: 456.219 ms<br /><br />After optimizing
code(warm run)<br />postgres=# select count(*) from lineitem where l_orderkey=1;<br /> count <br />-------<br />    
6<br/>(1 row)<br /><br />Time: 349.219 ms<br /><br />The following shows the DDL of this test case.<br />CREATE TABLE
LINEITEM( L_ORDERKEY    INTEGER NOT NULL,<br />                             L_PARTKEY     INTEGER NOT NULL,<br
/>                            L_SUPPKEY     INTEGER NOT NULL,<br />                             L_LINENUMBER  INTEGER
NOTNULL,<br />                             L_QUANTITY    DECIMAL(15,2) NOT NULL,<br />                            
L_EXTENDEDPRICE DECIMAL(15,2) NOT NULL,<br />                             L_DISCOUNT    DECIMAL(15,2) NOT NULL,<br
/>                            L_TAX         DECIMAL(15,2) NOT NULL,<br />                             L_RETURNFLAG 
CHAR(1)NOT NULL,<br />                             L_LINESTATUS  CHAR(1) NOT NULL,<br />                            
L_SHIPDATE   DATE NOT NULL,<br />                             L_COMMITDATE  DATE NOT NULL,<br
/>                            L_RECEIPTDATE DATE NOT NULL,<br />                             L_SHIPINSTRUCT CHAR(25)
NOTNULL,<br />                             L_SHIPMODE     CHAR(10) NOT NULL,<br />                            
L_COMMENT     VARCHAR(44) NOT NULL);<br /><br />copy lineitem from '/home/jinyu/mywork/dbgen/lineitem.tbl' delimiter
'|';<br/>create index brinLineitem on lineitem using brin(L_ORDERKEY) with(pages_per_range = 1);<br /><br />Jinyu
Zhang<br/></div><br /><br /><span title="neteasefooter"><p><span style="color:#000011;font-family:simsun,
serif;font-size:12px"><a
href="http://rd.da.netease.com/redirect?t=ORBmhG&p=y7fo42&proId=1024&target=http%3A%2F%2Fwww.kaola.com%2Factivity%2Fdetail%2F4650.html%3Ftag%3Dea467f1dcce6ada85b1ae151610748b5"
target="_blank">网易考拉iPhone6s玫瑰金5288元,现货不加价</a></span></span>

pgsql-hackers by date:

Previous
From: Pavel Stehule
Date:
Subject: Re: On-demand running query plans using auto_explain and signals
Next
From: "Jinyu Zhang"
Date:
Subject: Patch: Optimize memory allocation in function 'bringetbitmap'