Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1iijRL-0000fN-3h for pgsql-docs@arkaria.postgresql.org; Sat, 21 Dec 2019 18:25:23 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1iijQK-00018K-8a for pgsql-docs@arkaria.postgresql.org; Sat, 21 Dec 2019 18:24:20 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1iijQJ-00018D-Ra for pgsql-docs@lists.postgresql.org; Sat, 21 Dec 2019 18:24:19 +0000 Received: from momjian.us ([72.94.173.45]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1iijQG-0004eP-SH for pgsql-docs@lists.postgresql.org; Sat, 21 Dec 2019 18:24:18 +0000 Received: from bruce by momjian.us with local (Exim 4.92) (envelope-from ) id 1iijQG-0004FT-3b; Sat, 21 Dec 2019 13:24:16 -0500 Date: Sat, 21 Dec 2019 13:24:16 -0500 From: Bruce Momjian To: mayank.l.patel90@gmail.com, pgsql-docs@lists.postgresql.org Subject: Re: Difference between Bulk Load (Multiple inserts or single inserts) and COPY Message-ID: <20191221182416.GG11527@momjian.us> References: <157556036483.25843.13507499162781497696@wrigleys.postgresql.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <157556036483.25843.13507499162781497696@wrigleys.postgresql.org> User-Agent: Mutt/1.10.1 (2018-07-13) List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk This is not a documentation question. For assistance, please join the appropriate mailing list and post your question: http://www.postgresql.org/community You can also try the #postgresql IRC channel on irc.freenode.net. See the PostgreSQL FAQ for more information. --------------------------------------------------------------------------- On Thu, Dec 5, 2019 at 03:39:24PM +0000, PG Doc comments form wrote: > The following documentation comment has been logged on the website: > > Page: https://www.postgresql.org/docs/10/sql-copy.html > Description: > > Hello, > > > I experimented with Bulk load and COPY. > > Loading in COPY was very fast. > > However, after COPYing data from a CSV file to PostgreSQL Table. The > query > > execution took lot of time for 1 of the first 4 queries. > > Only this slow query was taking so much time, that even if I had used > normal > > bulk load, it would have been faster in total. > > Then all other Query executions took equal time as it took while querying > a > > table after the Bulk data load method. > > > > So, I want to know the exact reason what's the issue with COPY. > > How exactly they differ? The only thing from the document I could > identify > > was row security. > > But it did not mention anything about indexing. Like, in Bulk load, do > > indices(or constraint checks) are created with data loading? > > & in COPY it's done after? so when indices are being created that query > > slows down?? > > *Added details* > > "Table & Query details" > I have 1 Table is there having 3 attributes: > TableName{ Column1 Varchar300, Column2 Varchar300, Column3 Varchar300}; > I haven't created any primary keys or FKs. No other constraints. > > Data set size: 150MB / 1M records > > Queries: > Select count(*) from Table; > Select count(distinct( Column1, Column2 , Column3 )) from Table; > Select Column1, Column2, Column3 from Table as T1, Table as T2, Table as T3 > where T1. Column1=T2.Column3 and T1. Column1="xyz"; > > Please let me know, how Bulk load vs. COPY different in both situations > 1) Do the internal representation differs after data is loaded using Bulk > vs. COPY? > 2) what if I have added Keys and Constraints, are they checked later? Means > loading is shown completed but in background it's creating indices/checking > constraints. > 3) Can it be the reason that some other process(which?) is running in > background during query execution ? as I query the data as soon as the load > after COPY is complete. -- Bruce Momjian http://momjian.us EnterpriseDB http://enterprisedb.com + As you are, so once was I. As I am, so you will be. + + Ancient Roman grave inscription +