<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Index Seek &#8211; Database Research &amp; Development</title>
	<atom:link href="https://www.dbrnd.com/tag/index-seek/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.dbrnd.com</link>
	<description>BIGData &#124; NoSQL &#124; MSSQL &#124; MySQL &#124; PostgreSQL</description>
	<lastBuildDate>Thu, 16 Nov 2017 07:20:31 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.4</generator>
	<item>
		<title>PostgreSQL: Force on Planner to use Sequential Scan or Index Scan</title>
		<link>https://www.dbrnd.com/2016/11/postgresql-force-on-planner-to-use-sequential-scan-or-index-scan-enable_seqscan-enable_indexscan/</link>
					<comments>https://www.dbrnd.com/2016/11/postgresql-force-on-planner-to-use-sequential-scan-or-index-scan-enable_seqscan-enable_indexscan/#comments</comments>
		
		<dc:creator><![CDATA[Anvesh Patel]]></dc:creator>
		<pubDate>Tue, 22 Nov 2016 19:00:50 +0000</pubDate>
				<category><![CDATA[PostgreSQL]]></category>
		<category><![CDATA[Anvesh Patel]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[database research and development]]></category>
		<category><![CDATA[dbrnd]]></category>
		<category><![CDATA[enable_indexscan]]></category>
		<category><![CDATA[enable_seqscan]]></category>
		<category><![CDATA[Execution Plan]]></category>
		<category><![CDATA[Force index scan]]></category>
		<category><![CDATA[Index Hint]]></category>
		<category><![CDATA[Index Seek]]></category>
		<category><![CDATA[plpgsql]]></category>
		<category><![CDATA[Postgres Query]]></category>
		<category><![CDATA[postgresql]]></category>
		<category><![CDATA[PostgreSQL Administrator]]></category>
		<category><![CDATA[PostgreSQL Error]]></category>
		<category><![CDATA[PostgreSQL Programming]]></category>
		<category><![CDATA[PostgreSQL Tips and Tricks]]></category>
		<category><![CDATA[Query Planner]]></category>
		<guid isPermaLink="false">https://www.dbrnd.com/?p=3898</guid>

					<description><![CDATA[Every day If you are doing performance optimization related stuff, sometime you also confuse on the decision of the Query Planner because It might be choose a wrong plan. The SQL Server and MySQL provide features like: Index force or Index hint for SQL query, but PostgreSQL does not provide such feature because Once you [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F11%2Fpostgresql-force-on-planner-to-use-sequential-scan-or-index-scan-enable_seqscan-enable_indexscan%2F&amp;linkname=PostgreSQL%3A%20Force%20on%20Planner%20to%20use%20Sequential%20Scan%20or%20Index%20Scan" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F11%2Fpostgresql-force-on-planner-to-use-sequential-scan-or-index-scan-enable_seqscan-enable_indexscan%2F&amp;linkname=PostgreSQL%3A%20Force%20on%20Planner%20to%20use%20Sequential%20Scan%20or%20Index%20Scan" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F11%2Fpostgresql-force-on-planner-to-use-sequential-scan-or-index-scan-enable_seqscan-enable_indexscan%2F&amp;linkname=PostgreSQL%3A%20Force%20on%20Planner%20to%20use%20Sequential%20Scan%20or%20Index%20Scan" title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_pinterest" href="https://www.addtoany.com/add_to/pinterest?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F11%2Fpostgresql-force-on-planner-to-use-sequential-scan-or-index-scan-enable_seqscan-enable_indexscan%2F&amp;linkname=PostgreSQL%3A%20Force%20on%20Planner%20to%20use%20Sequential%20Scan%20or%20Index%20Scan" title="Pinterest" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_reddit" href="https://www.addtoany.com/add_to/reddit?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F11%2Fpostgresql-force-on-planner-to-use-sequential-scan-or-index-scan-enable_seqscan-enable_indexscan%2F&amp;linkname=PostgreSQL%3A%20Force%20on%20Planner%20to%20use%20Sequential%20Scan%20or%20Index%20Scan" title="Reddit" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_pocket" href="https://www.addtoany.com/add_to/pocket?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F11%2Fpostgresql-force-on-planner-to-use-sequential-scan-or-index-scan-enable_seqscan-enable_indexscan%2F&amp;linkname=PostgreSQL%3A%20Force%20on%20Planner%20to%20use%20Sequential%20Scan%20or%20Index%20Scan" title="Pocket" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F11%2Fpostgresql-force-on-planner-to-use-sequential-scan-or-index-scan-enable_seqscan-enable_indexscan%2F&#038;title=PostgreSQL%3A%20Force%20on%20Planner%20to%20use%20Sequential%20Scan%20or%20Index%20Scan" data-a2a-url="https://www.dbrnd.com/2016/11/postgresql-force-on-planner-to-use-sequential-scan-or-index-scan-enable_seqscan-enable_indexscan/" data-a2a-title="PostgreSQL: Force on Planner to use Sequential Scan or Index Scan"></a></p><p>Every day If you are doing performance optimization related stuff, sometime you also confuse on the decision of the Query Planner because It might be choose a wrong plan. </p>
<blockquote><p>The SQL Server and MySQL provide features like: Index force or Index hint for SQL query, but PostgreSQL does not provide such feature because Once you set Index hint on the query, in future data is increasing and your Index hint might be not working accordingly. </p></blockquote>
<blockquote class="wp-embedded-content" data-secret="H7FLBLiKCa"><p><a href="https://www.dbrnd.com/2016/04/database-theory-table-scan-vs-index-scan-vs-index-seek/">Database Theory: Table Scan vs Index Scan vs Index Seek</a></p></blockquote>
<p><iframe class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  src="https://www.dbrnd.com/2016/04/database-theory-table-scan-vs-index-scan-vs-index-seek/embed/#?secret=H7FLBLiKCa" data-secret="H7FLBLiKCa" width="600" height="338" title="&#8220;Database Theory: Table Scan vs Index Scan vs Index Seek&#8221; &#8212; Database Research &amp; Development" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe></p>
<blockquote><p>In the PostgreSQL, Query Planner takes the decision base on the updated statistics and choose the Table Scan or Index Scan. </p></blockquote>
<blockquote><p>For smaller table, sequential scan is always faster compare to Index scanning. But sometimes what I have found is: due to invalid parameter PostgreSQL skips the indexes and start the table scanning which leads to poor performance. </p>
<p>In this situation, we should disable the Sequential Scan option so that Query Planner force to use available Indexes and execute the Query. </p></blockquote>
<blockquote><p>In PostgreSQL, We cannot enable / disable Index Scan or Table Scan at individual query level. </p></blockquote>
<p><strong>PostgreSQL provides two main parameters for Index Scan or Table Scan:</strong><br />
By default, this both parameters are ON, but as per the your requirement you can change the value.<br />
You can find these parameters in postgresql.conf file. </p>
<blockquote><p>enable_seqscan<br />
enable_indexscan</p></blockquote>
<p><em><strong>You should never make the force on Query Planner because Forcing is a very bad idea. It might be useful to check if it will be faster, but production code should never use such tricks.</strong></em></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dbrnd.com/2016/11/postgresql-force-on-planner-to-use-sequential-scan-or-index-scan-enable_seqscan-enable_indexscan/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Database Theory: Table Scan vs Index Scan vs Index Seek</title>
		<link>https://www.dbrnd.com/2016/04/database-theory-table-scan-vs-index-scan-vs-index-seek/</link>
					<comments>https://www.dbrnd.com/2016/04/database-theory-table-scan-vs-index-scan-vs-index-seek/#comments</comments>
		
		<dc:creator><![CDATA[Anvesh Patel]]></dc:creator>
		<pubDate>Mon, 18 Apr 2016 20:22:33 +0000</pubDate>
				<category><![CDATA[Database Theory]]></category>
		<category><![CDATA[Anvesh Patel]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[database concept]]></category>
		<category><![CDATA[database research and development]]></category>
		<category><![CDATA[database standards]]></category>
		<category><![CDATA[database topic]]></category>
		<category><![CDATA[dbrnd]]></category>
		<category><![CDATA[Index Scan]]></category>
		<category><![CDATA[Index Seek]]></category>
		<category><![CDATA[RDBMS]]></category>
		<category><![CDATA[Table Scan]]></category>
		<guid isPermaLink="false">https://www.dbrnd.com/?p=2375</guid>

					<description><![CDATA[Table Scan: It scans every row for finding a particular node or data. If the planner fails to use a proper index, it has to do full Table Scanning. If table has a less number of records, Table Scan is an excellent choice for query optimizer. For example, If Table has around 1000 records, Table [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F04%2Fdatabase-theory-table-scan-vs-index-scan-vs-index-seek%2F&amp;linkname=Database%20Theory%3A%20Table%20Scan%20vs%20Index%20Scan%20vs%20Index%20Seek" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F04%2Fdatabase-theory-table-scan-vs-index-scan-vs-index-seek%2F&amp;linkname=Database%20Theory%3A%20Table%20Scan%20vs%20Index%20Scan%20vs%20Index%20Seek" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F04%2Fdatabase-theory-table-scan-vs-index-scan-vs-index-seek%2F&amp;linkname=Database%20Theory%3A%20Table%20Scan%20vs%20Index%20Scan%20vs%20Index%20Seek" title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_pinterest" href="https://www.addtoany.com/add_to/pinterest?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F04%2Fdatabase-theory-table-scan-vs-index-scan-vs-index-seek%2F&amp;linkname=Database%20Theory%3A%20Table%20Scan%20vs%20Index%20Scan%20vs%20Index%20Seek" title="Pinterest" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_reddit" href="https://www.addtoany.com/add_to/reddit?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F04%2Fdatabase-theory-table-scan-vs-index-scan-vs-index-seek%2F&amp;linkname=Database%20Theory%3A%20Table%20Scan%20vs%20Index%20Scan%20vs%20Index%20Seek" title="Reddit" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_pocket" href="https://www.addtoany.com/add_to/pocket?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F04%2Fdatabase-theory-table-scan-vs-index-scan-vs-index-seek%2F&amp;linkname=Database%20Theory%3A%20Table%20Scan%20vs%20Index%20Scan%20vs%20Index%20Seek" title="Pocket" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F04%2Fdatabase-theory-table-scan-vs-index-scan-vs-index-seek%2F&#038;title=Database%20Theory%3A%20Table%20Scan%20vs%20Index%20Scan%20vs%20Index%20Seek" data-a2a-url="https://www.dbrnd.com/2016/04/database-theory-table-scan-vs-index-scan-vs-index-seek/" data-a2a-title="Database Theory: Table Scan vs Index Scan vs Index Seek"></a></p><p><strong>Table Scan:</strong></p>
<blockquote><p>It scans every row for finding a particular node or data. If the planner fails to use a proper index, it has to do full Table Scanning.<br />
If table has a less number of records, Table Scan is an excellent choice for query optimizer.</p></blockquote>
<blockquote><p>For example, If Table has around 1000 records, Table Scan is faster because unnecessary Index Scanning operation is not required.<br />
But, If the Table has a large number of records, Table Scan requires high CPU and other resources for scanning the whole table. </p></blockquote>
<p><strong>Index Scan: </strong></p>
<blockquote><p>It is scanning of each row, whenever you are retrieving more than 50% or 70% of the table data, internally planner performing full Index Scan. </p></blockquote>
<blockquote><p>Generally, Index pages and Data pages are stored separately.<br />
Index scanning is also dependent on the ordering of the Index data because If matched key found from the top pages, Index Scan is not required. </p></blockquote>
<blockquote><p>The Row Lookups also involved in Index Scanning because matched Index key has to fetch data from the data page, so Index Scanning is very costly for the big table. </p></blockquote>
<p><strong>Index Seek:</strong></p>
<blockquote><p>Index Seek is opposite the Table Scan and Index Scan.<br />
It touches the only qualified row index rather than scanning whole Index Pages, and after that, it fetches only qualified data page. </p></blockquote>
<blockquote><p>When we are fetching less number of records with the specific filter, the planner has to choose Index Seek to fetch and scan only qualified data.</p>
<p>Index Seek operation is much faster than Index Scan, and also it does not require more CPU and I/O resources. </p></blockquote>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dbrnd.com/2016/04/database-theory-table-scan-vs-index-scan-vs-index-seek/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
	</channel>
</rss>
