<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Ineffective index in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Ineffective-index/m-p/99019#M20862</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Even as Peter mentioned that there are differences between your tables, this is still a mysterious.&lt;/P&gt;&lt;P&gt;To fins out whether this is a index problem, read as many observations from each table, corresponding to your index search result set:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;data _null_;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set table_1(obs=&lt;SPAN lang="EN-US"&gt;3746291);&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="EN-US" style="font-family: courier new,courier;"&gt;run;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="EN-US"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="EN-US"&gt;And corresponding obs= for table_2;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="EN-US"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="EN-US"&gt;I'm not sure what your are referring to what kind of help you need from admins. Technically, it sounds that you should be able to define a SPDE lib by your self. Just crate some directories, and then just lib it up...!? If you lack permissions, just set it up in the C:\temp for testing purposes...&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: arial,helvetica,sans-serif; background: none repeat scroll 0% 0% white; color: green; font-size: 10pt;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; background: white; color: green; font-size: 10pt;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 12 Apr 2013 21:24:29 GMT</pubDate>
    <dc:creator>LinusH</dc:creator>
    <dc:date>2013-04-12T21:24:29Z</dc:date>
    <item>
      <title>Ineffective index</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Ineffective-index/m-p/99008#M20851</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have this situation: there are two similar tables in SAS on the same server, both have about 300 million observations and simple indexes on numeric fields with date type data. In the first table index "load_date1" has 2000 unique values, the second table has index "load_date2" with 80 unique values, distribution of observations on different index values in both tables is mostly even. So both these indexes should improve queries with WHERE expression significantly, but it is true only for the second table and I have no idea why. In both cases tables are unsorted, but data was added in them incrementally with increasing values of indexes, so there is not much difference in data distribution, based on index values. Here is some data on them (I had to change it a bit):&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE cellpadding="7" cellspacing="1" class="table" frame="box" rules="groups" summary="Procedure Datasets: Attributes"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TH class="l rowheader" scope="row"&gt;Data Set Name&lt;/TH&gt;&lt;TD class="l data"&gt;table_1&lt;/TD&gt;&lt;TH class="l rowheader" scope="row"&gt;Observations&lt;/TH&gt;&lt;TD class="l data"&gt;294416780&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TH class="l rowheader" scope="row"&gt;Member Type&lt;/TH&gt;&lt;TD class="l data"&gt;DATA&lt;/TD&gt;&lt;TH class="l rowheader" scope="row"&gt;Variables&lt;/TH&gt;&lt;TD class="l data"&gt;10&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TH class="l rowheader" scope="row"&gt;Engine&lt;/TH&gt;&lt;TD class="l data"&gt;V9&lt;/TD&gt;&lt;TH class="l rowheader" scope="row"&gt;Indexes&lt;/TH&gt;&lt;TD class="l data"&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TH class="l rowheader" scope="row"&gt;Created&lt;/TH&gt;&lt;TD class="l data"&gt;05 Апрель 2013 г. пятница 05:23:54&lt;/TD&gt;&lt;TH class="l rowheader" scope="row"&gt;Observation Length&lt;/TH&gt;&lt;TD class="l data"&gt;140&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TH class="l rowheader" scope="row"&gt;Last Modified&lt;/TH&gt;&lt;TD class="l data"&gt;05 Апрель 2013 г. пятница 05:23:54&lt;/TD&gt;&lt;TH class="l rowheader" scope="row"&gt;Deleted Observations&lt;/TH&gt;&lt;TD class="l data"&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TH class="l rowheader" scope="row"&gt;Protection&lt;/TH&gt;&lt;TD class="l data"&gt; &lt;/TD&gt;&lt;TH class="l rowheader" scope="row"&gt;Compressed&lt;/TH&gt;&lt;TD class="l data"&gt;CHAR&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TH class="l rowheader" scope="row"&gt;Data Set Type&lt;/TH&gt;&lt;TD class="l data"&gt; &lt;/TD&gt;&lt;TH class="l rowheader" scope="row"&gt;Reuse Space&lt;/TH&gt;&lt;TD class="l data"&gt;NO&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TH class="l rowheader" scope="row"&gt;Label&lt;/TH&gt;&lt;TD class="l data"&gt; &lt;/TD&gt;&lt;TH class="l rowheader" scope="row"&gt;Point to Observations&lt;/TH&gt;&lt;TD class="l data"&gt;YES&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TH class="l rowheader" scope="row"&gt;Data Representation&lt;/TH&gt;&lt;TD class="l data"&gt;WINDOWS_64&lt;/TD&gt;&lt;TH class="l rowheader" scope="row"&gt;Sorted&lt;/TH&gt;&lt;TD class="l data"&gt;NO&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TH class="l rowheader" scope="row"&gt;Encoding&lt;/TH&gt;&lt;TD class="l data"&gt;wcyrillic Cyrillic (Windows)&lt;/TD&gt;&lt;TH class="l rowheader" scope="row"&gt; &lt;/TH&gt;&lt;TD class="l data"&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;TABLE cellpadding="7" cellspacing="1" class="table" frame="box" rules="groups" summary="Procedure Datasets: Engine/Host Information"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TH class="l rowheader" scope="row"&gt;Data Set Page Size&lt;/TH&gt;&lt;TD class="l data"&gt;131072&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TH class="l rowheader" scope="row"&gt;Number of Data Set Pages&lt;/TH&gt;&lt;TD class="l data"&gt;192865&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TH class="l rowheader" scope="row"&gt;Index File Page Size&lt;/TH&gt;&lt;TD class="l data"&gt;4096&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TH class="l rowheader" scope="row"&gt;Number of Index File Pages&lt;/TH&gt;&lt;TD class="l data"&gt;581713&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TH class="l rowheader" scope="row"&gt;Number of Data Set Repairs&lt;/TH&gt;&lt;TD class="l data"&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TH class="l rowheader" scope="row"&gt;Filename&lt;/TH&gt;&lt;TD class="l data"&gt;somewhere\table_1.sas7bdat&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TH class="l rowheader" scope="row"&gt;Release Created&lt;/TH&gt;&lt;TD class="l data"&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TH class="l rowheader" scope="row"&gt;Host Created&lt;/TH&gt;&lt;TD class="l data"&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;TABLE cellpadding="7" cellspacing="1" class="table" frame="box" rules="groups" summary="Procedure Datasets: Indexes"&gt;&lt;TBODY&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;TABLE cellpadding="7" cellspacing="1" class="table" frame="box" rules="groups" summary="Procedure Datasets: Indexes"&gt;&lt;TBODY&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;TABLE cellpadding="7" cellspacing="1" class="table" frame="box" rules="groups" summary="Procedure Datasets: Indexes"&gt;&lt;TBODY&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;TABLE cellpadding="7" cellspacing="1" class="table" frame="box" rules="groups" summary="Procedure Datasets: Indexes"&gt;&lt;TBODY&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;TABLE cellpadding="7" cellspacing="1" class="table" frame="box" rules="groups" summary="Procedure Datasets: Indexes"&gt;&lt;TBODY&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;TABLE cellpadding="7" cellspacing="1" class="table" frame="box" rules="groups" summary="Procedure Datasets: Indexes"&gt;&lt;TBODY&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;TABLE cellpadding="7" cellspacing="1" class="table" frame="box" rules="groups" summary="Procedure Datasets: Indexes"&gt;&lt;TBODY&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;TABLE cellpadding="7" cellspacing="1" class="table" frame="box" rules="groups" summary="Procedure Datasets: Indexes"&gt;&lt;TBODY&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;TABLE cellpadding="7" cellspacing="1" class="table" frame="box" rules="groups" summary="Procedure Datasets: Indexes"&gt;&lt;TBODY&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;TABLE cellpadding="7" cellspacing="1" class="table" frame="box" rules="groups" summary="Procedure Datasets: Indexes"&gt;&lt;TBODY&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;TABLE cellpadding="7" cellspacing="1" class="table" frame="box" rules="groups" summary="Procedure Datasets: Indexes"&gt;&lt;TBODY&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;TABLE cellpadding="7" cellspacing="1" class="table" frame="box" rules="groups" summary="Procedure Datasets: Attributes"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TH class="l rowheader" scope="row"&gt;Data Set Name&lt;/TH&gt;&lt;TD class="l data"&gt;table_2&lt;/TD&gt;&lt;TH class="l rowheader" scope="row"&gt;Observations&lt;/TH&gt;&lt;TD class="l data"&gt;297622992&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TH class="l rowheader" scope="row"&gt;Member Type&lt;/TH&gt;&lt;TD class="l data"&gt;DATA&lt;/TD&gt;&lt;TH class="l rowheader" scope="row"&gt;Variables&lt;/TH&gt;&lt;TD class="l data"&gt;33&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TH class="l rowheader" scope="row"&gt;Engine&lt;/TH&gt;&lt;TD class="l data"&gt;V9&lt;/TD&gt;&lt;TH class="l rowheader" scope="row"&gt;Indexes&lt;/TH&gt;&lt;TD class="l data"&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TH class="l rowheader" scope="row"&gt;Created&lt;/TH&gt;&lt;TD class="l data"&gt;03 Апрель 2013 г. среда 00:58:54&lt;/TD&gt;&lt;TH class="l rowheader" scope="row"&gt;Observation Length&lt;/TH&gt;&lt;TD class="l data"&gt;289&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TH class="l rowheader" scope="row"&gt;Last Modified&lt;/TH&gt;&lt;TD class="l data"&gt;03 Апрель 2013 г. среда 00:58:54&lt;/TD&gt;&lt;TH class="l rowheader" scope="row"&gt;Deleted Observations&lt;/TH&gt;&lt;TD class="l data"&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TH class="l rowheader" scope="row"&gt;Protection&lt;/TH&gt;&lt;TD class="l data"&gt; &lt;/TD&gt;&lt;TH class="l rowheader" scope="row"&gt;Compressed&lt;/TH&gt;&lt;TD class="l data"&gt;BINARY&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TH class="l rowheader" scope="row"&gt;Data Set Type&lt;/TH&gt;&lt;TD class="l data"&gt; &lt;/TD&gt;&lt;TH class="l rowheader" scope="row"&gt;Reuse Space&lt;/TH&gt;&lt;TD class="l data"&gt;NO&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TH class="l rowheader" scope="row"&gt;Label&lt;/TH&gt;&lt;TD class="l data"&gt; &lt;/TD&gt;&lt;TH class="l rowheader" scope="row"&gt;Point to Observations&lt;/TH&gt;&lt;TD class="l data"&gt;YES&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TH class="l rowheader" scope="row"&gt;Data Representation&lt;/TH&gt;&lt;TD class="l data"&gt;WINDOWS_64&lt;/TD&gt;&lt;TH class="l rowheader" scope="row"&gt;Sorted&lt;/TH&gt;&lt;TD class="l data"&gt;NO&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TH class="l rowheader" scope="row"&gt;Encoding&lt;/TH&gt;&lt;TD class="l data"&gt;wcyrillic Cyrillic (Windows)&lt;/TD&gt;&lt;TH class="l rowheader" scope="row"&gt; &lt;/TH&gt;&lt;TD class="l data"&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;TABLE cellpadding="7" cellspacing="1" class="table" frame="box" rules="groups" summary="Procedure Datasets: Engine/Host Information"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TH class="l rowheader" scope="row"&gt;Data Set Page Size&lt;/TH&gt;&lt;TD class="l data"&gt;16384&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TH class="l rowheader" scope="row"&gt;Number of Data Set Pages&lt;/TH&gt;&lt;TD class="l data"&gt;1372810&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TH class="l rowheader" scope="row"&gt;Index File Page Size&lt;/TH&gt;&lt;TD class="l data"&gt;4096&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TH class="l rowheader" scope="row"&gt;Number of Index File Pages&lt;/TH&gt;&lt;TD class="l data"&gt;587074&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TH class="l rowheader" scope="row"&gt;Number of Data Set Repairs&lt;/TH&gt;&lt;TD class="l data"&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TH class="l rowheader" scope="row"&gt;Filename&lt;/TH&gt;&lt;TD class="l data"&gt;somewhere\table_2.sas7bdat&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TH class="l rowheader" scope="row"&gt;Release Created&lt;/TH&gt;&lt;TD class="l data"&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TH class="l rowheader" scope="row"&gt;Host Created&lt;/TH&gt;&lt;TD class="l data"&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And query is like this(to get data for the last month):&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data result;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set table_2(idx_name=load_date2);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; where load_date2&amp;gt;=&amp;amp;date_month_ago;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Does anybody have any idea, why this type of code is working with the second table (code is running for 1-2 minutes) and isn't working with the first one (code is running for about 50 minutes - sometimes even longer than without usage of index)?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 05 Apr 2013 14:32:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Ineffective-index/m-p/99008#M20851</guid>
      <dc:creator>Demoxe</dc:creator>
      <dc:date>2013-04-05T14:32:52Z</dc:date>
    </item>
    <item>
      <title>Re: Ineffective index</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Ineffective-index/m-p/99009#M20852</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;This may be key:&amp;nbsp; "data was added in them incrementally with increasing values of indexes,"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In a number of database systems, when data are appended, the index just does a linear search (e.g. does not really use the index) for observations after the first appended one.&amp;nbsp; If SAS works that way, then dropping the index and rebuilding it will cure the problem. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you try it, let the list know what you find out.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Doc Muhlbaier&lt;/P&gt;&lt;P&gt;Duke&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 05 Apr 2013 17:35:48 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Ineffective-index/m-p/99009#M20852</guid>
      <dc:creator>Doc_Duke</dc:creator>
      <dc:date>2013-04-05T17:35:48Z</dc:date>
    </item>
    <item>
      <title>Re: Ineffective index</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Ineffective-index/m-p/99010#M20853</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt; Demoxe&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;try PROC CONTENTS with the option CENTILES&lt;/P&gt;&lt;P&gt;it will demonstrate the distribution&amp;nbsp; - which is likely to be one part of the data used by optimisation engines to choose whether an index provides the fastest way to deliver the result data set..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Before each query using the indexed table(s), use&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; option MSGLEVEL=i ;&lt;/P&gt;&lt;P&gt;to get feedback on the choice of indexes made by optimisation engines.&lt;/P&gt;&lt;P&gt;On PROC SQL, use option _METHOD to see whether it chooses indexJoin or SortMergeJoin &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I would be surprised if COMPRESS=BINARY makes the second table_2 index unsuitable. (table_1 has compress=CHAR)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The index page size is 4K on both tables, and there are similar number of index pages for both tables.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;However for table_2 there are 1.37M pages of data compared with&amp;nbsp; 0.19M pages for table_1&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;So I think this is enough to make the difference.&lt;/P&gt;&lt;P&gt;The indexes point to dataset pages. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The shape of the observations and indexes are clearly very different between the tables so their index-use is likely to be different too.&lt;/P&gt;&lt;P&gt;If you want to treat them in a similar way, give the tables similar PAGESIZE - and for that volume of data, I would not recommend anything as small as table_2's 16K. Table_1 has 128K pagesize.&lt;/P&gt;&lt;P&gt;The indexes point to pages. &lt;/P&gt;&lt;P&gt;When reading only a small (under 5%) subset small pages are helpful, but that is a lot of pages to shuffle for a larger subset.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;good luck looking further into your data-usage.&lt;/P&gt;&lt;P&gt;hope we'll hear more updates after you have tried some of these ideas&lt;/P&gt;&lt;P&gt;peterC&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 05 Apr 2013 19:25:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Ineffective-index/m-p/99010#M20853</guid>
      <dc:creator>Peter_C</dc:creator>
      <dc:date>2013-04-05T19:25:41Z</dc:date>
    </item>
    <item>
      <title>Re: Ineffective index</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Ineffective-index/m-p/99011#M20854</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Additionally to what Peter said it might also be worth to increase the index page size (option IBUFSIZE) and eventually "playing around" with "IBUFNO" could also have positive effects.&lt;/P&gt;&lt;P&gt;&lt;A href="http://support.sas.com/documentation/cdl/en/lrdict/64316/HTML/default/viewer.htm#a002252102.htm" title="http://support.sas.com/documentation/cdl/en/lrdict/64316/HTML/default/viewer.htm#a002252102.htm"&gt;SAS(R) 9.2 Language Reference: Dictionary, Fourth Edition&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 06 Apr 2013 01:01:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Ineffective-index/m-p/99011#M20854</guid>
      <dc:creator>Patrick</dc:creator>
      <dc:date>2013-04-06T01:01:33Z</dc:date>
    </item>
    <item>
      <title>Re: Ineffective index</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Ineffective-index/m-p/99012#M20855</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Index was dropped and rebuilt, alas there is no improvement.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 11 Apr 2013 09:09:27 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Ineffective-index/m-p/99012#M20855</guid>
      <dc:creator>Demoxe</dc:creator>
      <dc:date>2013-04-11T09:09:27Z</dc:date>
    </item>
    <item>
      <title>Re: Ineffective index</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Ineffective-index/m-p/99013#M20856</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I've tried to use "ibufsize=max" and "ibufno=max" options and it also haven't changed anything. Maybe i need to set some specific values?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 11 Apr 2013 11:27:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Ineffective-index/m-p/99013#M20856</guid>
      <dc:creator>Demoxe</dc:creator>
      <dc:date>2013-04-11T11:27:53Z</dc:date>
    </item>
    <item>
      <title>Re: Ineffective index</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Ineffective-index/m-p/99014#M20857</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;As for centiles I have this distribution for table_1:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;OL&gt;&lt;LI&gt;14751405&lt;/LI&gt;&lt;LI&gt;14435254&lt;/LI&gt;&lt;LI&gt;14568859&lt;/LI&gt;&lt;LI&gt;15172170&lt;/LI&gt;&lt;LI&gt;14978557&lt;/LI&gt;&lt;LI&gt;14797476&lt;/LI&gt;&lt;LI&gt;14705349&lt;/LI&gt;&lt;LI&gt;14890806&lt;/LI&gt;&lt;LI&gt;14747523&lt;/LI&gt;&lt;LI&gt;14805950&lt;/LI&gt;&lt;LI&gt;14709806&lt;/LI&gt;&lt;LI&gt;14766747&lt;/LI&gt;&lt;LI&gt;14675302&lt;/LI&gt;&lt;LI&gt;14949089&lt;/LI&gt;&lt;LI&gt;14707188&lt;/LI&gt;&lt;LI&gt;14799584&lt;/LI&gt;&lt;LI&gt;14919089&lt;/LI&gt;&lt;LI&gt;14604405&lt;/LI&gt;&lt;LI&gt;14806380&lt;/LI&gt;&lt;LI&gt;14974194&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;As you see, distribution is quite even.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've already used this option "MSGLEVEL=i" and it was printed in log, that "load_date1" is used as index.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;As for changing PAGESIZE of table_1, I'm not sure how to do it and wasn't able to find it in Help or somewhere else. Can you can tell me the way?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And I'm sorry for the delay in my answers, I have to wait for assistance from our admins and they are not so eager to help.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 11 Apr 2013 13:23:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Ineffective-index/m-p/99014#M20857</guid>
      <dc:creator>Demoxe</dc:creator>
      <dc:date>2013-04-11T13:23:33Z</dc:date>
    </item>
    <item>
      <title>Re: Ineffective index</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Ineffective-index/m-p/99015#M20858</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;these are unusual date values!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;what percentage of the table is extracted by&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; where load_date2&amp;gt;=&amp;amp;date_month_ago;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;????&lt;/P&gt;&lt;P&gt;when it uses an index to read the data, it practically executes the output stage of a sort - returning data in index order&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;does it need to visit a great many pages to get the one month's data?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 11 Apr 2013 22:55:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Ineffective-index/m-p/99015#M20858</guid>
      <dc:creator>Peter_C</dc:creator>
      <dc:date>2013-04-11T22:55:35Z</dc:date>
    </item>
    <item>
      <title>Re: Ineffective index</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Ineffective-index/m-p/99016#M20859</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I've posted the number of observations for each centile, not the values of boundaries &lt;img id="smileyhappy" class="emoticon emoticon-smileyhappy" src="https://communities.sas.com/i/smilies/16x16_smiley-happy.png" alt="Smiley Happy" title="Smiley Happy" /&gt; And this query gets about 1-2% of all data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Data is added with increasing values of index each time, so with condition like "where load_date2&amp;gt;=&amp;amp;date_month_ago" only the last small part of table_1 is extracted (not bits and pieces from all over the table).&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 12 Apr 2013 07:56:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Ineffective-index/m-p/99016#M20859</guid>
      <dc:creator>Demoxe</dc:creator>
      <dc:date>2013-04-12T07:56:51Z</dc:date>
    </item>
    <item>
      <title>Re: Ineffective index</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Ineffective-index/m-p/99017#M20860</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Please share the log for each query (with msglevel=i).&lt;/P&gt;&lt;P&gt;Also adding fullstimer could give some hints about bottlenecks in the system.&lt;/P&gt;&lt;P&gt;You also may look in Windows task manager during the queries, to see the total usage of system resources.&lt;/P&gt;&lt;P&gt;And just to test the read performance, use data _null_, so you can rule out any write data bottlenecks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But, even if you/we can't get to the bottom of this, there is the solution to move your data to SPDE, which will probably increase performance of bot loading and definitely querying.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 12 Apr 2013 08:04:48 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Ineffective-index/m-p/99017#M20860</guid>
      <dc:creator>LinusH</dc:creator>
      <dc:date>2013-04-12T08:04:48Z</dc:date>
    </item>
    <item>
      <title>Re: Ineffective index</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Ineffective-index/m-p/99018#M20861</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;12&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; options fullstimer;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;13&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;14&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; data _NULL_;&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;15&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set table_1(idxname=load_date1);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;16&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; where load_date1&amp;gt;=&amp;amp;date_month_ago;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;INFO: Index load_date1 selected for WHERE clause optimization.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;17&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; run;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; background: white; color: green; font-size: 10pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; background: white; color: green; font-size: 10pt;"&gt;NOTE: There were 3746291 observations read from the data set table_1.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; background: white; color: green; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WHERE load_date1&amp;gt;=19446;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; background: white; color: green; font-size: 10pt;"&gt;NOTE: DATA statement used (Total process time):&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; background: white; color: green; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; real time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 52:41.22&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; background: white; color: green; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; user cpu time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 25.17 seconds&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; background: white; color: green; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; system cpu time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1:58.37&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; background: white; color: green; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; memory&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 256276.06k&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; background: white; color: green; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OS Memory&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 399160.00k&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; background: white; color: green; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Timestamp&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 12.04.2013 14:50:54&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; background: white; color: green; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; background: white; color: green; font-size: 10pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;18&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;19&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; data _NULL_;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;20&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set table_2(idxname=load_date2);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;21&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; where load_date2&amp;gt;=&amp;amp;date_month_ago;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;INFO: Index load_date2 selected for WHERE clause optimization.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;22&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; run;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; background: white; color: green; font-size: 10pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; background: white; color: green; font-size: 10pt;"&gt;NOTE: DATA statement used (Total process time):&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; background: white; color: green; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; real time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 27.91 seconds&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; background: white; color: green; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; user cpu time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 11.77 seconds&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; background: white; color: green; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; system cpu time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3.10 seconds&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; background: white; color: green; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; memory&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 34019.84k&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; background: white; color: green; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OS Memory&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 52404.00k&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; background: white; color: green; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Timestamp&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 12.04.2013 14:51:22&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; background: white; color: green; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; background: white; color: green; font-size: 10pt;"&gt;NOTE: There were 6973693 observations read from the data set table_2.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="font-family: 'Courier New'; background: white; color: green; font-size: 10pt;"&gt;WHERE load_date2&amp;gt;=19446;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Courier New'; background: white; color: #000000; font-size: 10pt;"&gt;In any case server can't be used so much on the first query and free on the second one, so there will be such a difference in process time. As for SPDE.. it's a solution indeed, but in my case I don't think, that admins will help me that way.&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 12 Apr 2013 14:33:01 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Ineffective-index/m-p/99018#M20861</guid>
      <dc:creator>Demoxe</dc:creator>
      <dc:date>2013-04-12T14:33:01Z</dc:date>
    </item>
    <item>
      <title>Re: Ineffective index</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Ineffective-index/m-p/99019#M20862</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Even as Peter mentioned that there are differences between your tables, this is still a mysterious.&lt;/P&gt;&lt;P&gt;To fins out whether this is a index problem, read as many observations from each table, corresponding to your index search result set:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;data _null_;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set table_1(obs=&lt;SPAN lang="EN-US"&gt;3746291);&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="EN-US" style="font-family: courier new,courier;"&gt;run;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="EN-US"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="EN-US"&gt;And corresponding obs= for table_2;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="EN-US"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="EN-US"&gt;I'm not sure what your are referring to what kind of help you need from admins. Technically, it sounds that you should be able to define a SPDE lib by your self. Just crate some directories, and then just lib it up...!? If you lack permissions, just set it up in the C:\temp for testing purposes...&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: arial,helvetica,sans-serif; background: none repeat scroll 0% 0% white; color: green; font-size: 10pt;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; background: white; color: green; font-size: 10pt;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 12 Apr 2013 21:24:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Ineffective-index/m-p/99019#M20862</guid>
      <dc:creator>LinusH</dc:creator>
      <dc:date>2013-04-12T21:24:29Z</dc:date>
    </item>
    <item>
      <title>Re: Ineffective index</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Ineffective-index/m-p/99020#M20863</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Demoxe&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I see that you force the use of the index. &lt;/P&gt;&lt;P&gt;Would the index not be chosen by SAS if you had &lt;STRONG&gt;not&lt;/STRONG&gt; demanded it? &lt;/P&gt;&lt;P&gt;It is possible that SAS has some good reaon to reject use of the index &lt;/P&gt;&lt;P&gt;- and we have still to identify that reason.&lt;/P&gt;&lt;P&gt; &lt;BR /&gt;peterC&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 15 Apr 2013 07:39:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Ineffective-index/m-p/99020#M20863</guid>
      <dc:creator>Peter_C</dc:creator>
      <dc:date>2013-04-15T07:39:51Z</dc:date>
    </item>
    <item>
      <title>Re: Ineffective index</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Ineffective-index/m-p/99021#M20864</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;an alternative approach to this use of indexes might be possible and might greatly improve access times.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The index is used to retrieve rows added since "some point in time" using LOAD_DATE.&lt;/P&gt;&lt;P&gt;Without deleting rows,and not having the REUSE option in effect, INSERT has the affect of APPEND by adding new rows at the end of the table.&lt;/P&gt;&lt;P&gt;So assuming LOAD_DATE represents the order in which rows are added to the table, then rather than use the index, the results could be achieved by using the FIRSTOBS= dataset option on a SET statement.&lt;/P&gt;&lt;P&gt;To obtain the value to use for the FIRSTOBS option could be part of the "data-loading-process" in future. Historic load counts could easily be obtained in a single-one-off-pass. Keep these in a table with load_date, row_count and since the volume is small (this table of load_date and row_count), the FIRSTOBS= value could be derived when needed (cumulative row_count +1).&lt;/P&gt;&lt;P&gt;To prove the issue about FIRSTOBS= versus WHERE= with the index, I prepared a 1.5GB table 10M rows with a bland mixture of strings, dates and row_number&lt;/P&gt;&lt;P&gt;The table BIGGIE has 10M rows created by&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;data biggie ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;length rows 8 string1-string5 $20 ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;format date1-date5 date9. ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;do rows = 1 to 1e7 ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;output ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;end;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;run;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;I prepared a unique index on ROWS with&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;proc datasets details; run;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;modify biggie ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;create&amp;nbsp; index rows/unique ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;run ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;quit ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc datasets details; run;&lt;/P&gt;&lt;P&gt;reveals the filesize of data and index are&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Member&amp;nbsp; Obs, Entries&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;#&amp;nbsp; Name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Type&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; or Indexes&amp;nbsp;&amp;nbsp; Vars&amp;nbsp; Label&amp;nbsp;&amp;nbsp;&amp;nbsp; File Size&amp;nbsp; Last Modified&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;1&amp;nbsp; BIGGIE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DATA&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 10000000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 11&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1536025600&amp;nbsp; 15-Apr-13 10:13:37&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp; BIGGIE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; INDEX&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 161702912&amp;nbsp; 15-Apr-13 10:13:37&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;The data and index are created with the defaults for buffers and pages.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;I have run separate extracts with FIRSTOBS= and WHERE= for 1500, 15000, 150000 and 1500000 row subsets.&lt;BR /&gt;FIRSTOBS is a clear winner&lt;SPAN style="font-family: courier new,courier;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;TABLE border="1" class="jiveBorder" style="border: 1px solid #000000; width: 100%;"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TH style="text-align: center; background-color: #6690bc; color: #ffffff; padding: 2px;" valign="middle"&gt;&lt;STRONG&gt;subset size&lt;/STRONG&gt;&lt;/TH&gt;&lt;TH style="text-align: center; background-color: #6690bc; color: #ffffff; padding: 2px;" valign="middle"&gt;&lt;STRONG&gt;REAL FIRSTOBS &lt;/STRONG&gt;&lt;/TH&gt;&lt;TH style="text-align: center; background-color: #6690bc; color: #ffffff; padding: 2px;" valign="middle"&gt;&lt;STRONG&gt;REAL WHERE&lt;/STRONG&gt;&lt;/TH&gt;&lt;TH style="text-align: center; background-color: #6690bc; color: #ffffff; padding: 2px;" valign="middle"&gt;&lt;STRONG&gt;CPU FIRSTOBS&lt;/STRONG&gt;&lt;/TH&gt;&lt;TH style="text-align: center; background-color: #6690bc; color: #ffffff; padding: 2px;" valign="middle"&gt;&lt;STRONG&gt;CPU WHERE&lt;/STRONG&gt;&lt;/TH&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="padding: 2px;"&gt;1500&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;0.08&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;0.12&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;0.04&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;0.02&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="padding: 2px;"&gt;15000&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;0.04&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;0.05&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;0.05&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;0.02&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="padding: 2px;"&gt;150000&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;0.17&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;0.36&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;0.15&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;0.20&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="padding: 2px;"&gt;1500000&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;7.43&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;40.99&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;1.31&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;3.08&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="padding: 2px;"&gt;&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here I presume to use no compresion and judge by REAL Time because the data are so artificial.&lt;BR /&gt;Your experience WILL vary.&lt;/P&gt;&lt;P&gt;I expect FIRSTOBS is the winner because the system has less to do - just collect all rows following the start point - &lt;BR /&gt;and index processing &lt;BR /&gt;&amp;nbsp;&amp;nbsp; makes no assumption about the order of index values&lt;BR /&gt;&amp;nbsp;&amp;nbsp; checks the index for every row that satisfies the WHERE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Clearly the performance on my old machine varied greatly when the nsize of the subset grew to 1.5M, being 15% of the data - and notice in the logs below - MSGLEVEL=i indicates that the index was still used &lt;BR /&gt;The SASlog showing the 8 datasteps follows:&lt;/P&gt;&lt;P&gt;280&amp;nbsp; %let prior_posn = %sysevalf( 1e7 - 1500 ) ;&lt;BR /&gt;281&amp;nbsp; option msglevel=i ;&lt;BR /&gt;282&amp;nbsp; data to_be_analysed ;&lt;BR /&gt;283&amp;nbsp;&amp;nbsp;&amp;nbsp; set biggie( firstOBS=%eval(1+&amp;amp;prior_posn) ) ;&lt;BR /&gt;284&amp;nbsp; run ;&lt;/P&gt;&lt;P&gt;NOTE: There were 1500 observations read from the data set WORK.BIGGIE.&lt;BR /&gt;NOTE: The data set WORK.TO_BE_ANALYSED has 1500 observations and 11 variables.&lt;BR /&gt;NOTE: DATA statement used (Total process time):&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; real time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.08 seconds&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cpu time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.04 seconds&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;285&lt;BR /&gt;286&amp;nbsp; data to_be_analysed ;&lt;BR /&gt;287&amp;nbsp;&amp;nbsp;&amp;nbsp; set biggie( where=( rows &amp;gt;&amp;amp;prior_posn) ) ;&lt;BR /&gt;INFO: Index rows selected for WHERE clause optimization.&lt;BR /&gt;288&amp;nbsp; run ;&lt;/P&gt;&lt;P&gt;NOTE: There were 1500 observations read from the data set WORK.BIGGIE.&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WHERE rows&amp;gt;9998500;&lt;BR /&gt;NOTE: The data set WORK.TO_BE_ANALYSED has 1500 observations and 11 variables.&lt;BR /&gt;NOTE: DATA statement used (Total process time):&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; real time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.12 seconds&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cpu time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.03 seconds&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;289&amp;nbsp; %let prior_posn = %sysevalf( 1e7 - 15000 ) ;&lt;BR /&gt;290&amp;nbsp; option msglevel=i ;&lt;BR /&gt;291&amp;nbsp; data to_be_analysed ;&lt;BR /&gt;292&amp;nbsp;&amp;nbsp;&amp;nbsp; set biggie( firstOBS=%eval(1+&amp;amp;prior_posn) ) ;&lt;BR /&gt;293&amp;nbsp; run ;&lt;/P&gt;&lt;P&gt;NOTE: There were 15000 observations read from the data set WORK.BIGGIE.&lt;BR /&gt;NOTE: The data set WORK.TO_BE_ANALYSED has 15000 observations and 11 variables.&lt;BR /&gt;NOTE: DATA statement used (Total process time):&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; real time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.04 seconds&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cpu time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.04 seconds&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;294&amp;nbsp; data to_be_analysed ;&lt;BR /&gt;295&amp;nbsp;&amp;nbsp;&amp;nbsp; set biggie( where=( rows &amp;gt;&amp;amp;prior_posn) ) ;&lt;BR /&gt;INFO: Index rows selected for WHERE clause optimization.&lt;BR /&gt;296&amp;nbsp; run ;&lt;/P&gt;&lt;P&gt;NOTE: There were 15000 observations read from the data set WORK.BIGGIE.&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WHERE rows&amp;gt;9985000;&lt;BR /&gt;NOTE: The data set WORK.TO_BE_ANALYSED has 15000 observations and 11 variables.&lt;BR /&gt;NOTE: DATA statement used (Total process time):&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; real time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.05 seconds&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cpu time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.03 seconds&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;297&amp;nbsp; %let prior_posn = %sysevalf( 1e7 - 150000 ) ;&lt;BR /&gt;298&amp;nbsp; option msglevel=i ;&lt;BR /&gt;299&amp;nbsp; data to_be_analysed ;&lt;BR /&gt;300&amp;nbsp;&amp;nbsp;&amp;nbsp; set biggie( firstOBS=%eval(1+&amp;amp;prior_posn) ) ;&lt;BR /&gt;301&amp;nbsp; run ;&lt;/P&gt;&lt;P&gt;NOTE: There were 150000 observations read from the data set WORK.BIGGIE.&lt;BR /&gt;NOTE: The data set WORK.TO_BE_ANALYSED has 150000 observations and 11 variables.&lt;BR /&gt;NOTE: DATA statement used (Total process time):&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; real time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.17 seconds&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cpu time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.15 seconds&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;302&amp;nbsp; data to_be_analysed ;&lt;BR /&gt;303&amp;nbsp;&amp;nbsp;&amp;nbsp; set biggie( where=( rows &amp;gt;&amp;amp;prior_posn) ) ;&lt;BR /&gt;INFO: Index rows selected for WHERE clause optimization.&lt;BR /&gt;304&amp;nbsp; run ;&lt;/P&gt;&lt;P&gt;NOTE: There were 150000 observations read from the data set WORK.BIGGIE.&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WHERE rows&amp;gt;9850000;&lt;BR /&gt;NOTE: The data set WORK.TO_BE_ANALYSED has 150000 observations and 11 variables.&lt;BR /&gt;NOTE: DATA statement used (Total process time):&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; real time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.36 seconds&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cpu time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.20 seconds&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;305&amp;nbsp; %let prior_posn = %sysevalf( 1e7 - 1500000 ) ;&lt;BR /&gt;306&amp;nbsp; option msglevel=i ;&lt;BR /&gt;307&amp;nbsp; data to_be_analysed ;&lt;BR /&gt;308&amp;nbsp;&amp;nbsp;&amp;nbsp; set biggie( firstOBS=%eval(1+&amp;amp;prior_posn) ) ;&lt;BR /&gt;309&amp;nbsp; run ;&lt;/P&gt;&lt;P&gt;NOTE: There were 1500000 observations read from the data set WORK.BIGGIE.&lt;BR /&gt;NOTE: The data set WORK.TO_BE_ANALYSED has 1500000 observations and 11 variables.&lt;BR /&gt;NOTE: DATA statement used (Total process time):&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; real time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 7.43 seconds&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cpu time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1.31 seconds&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;310&amp;nbsp; data to_be_analysed ;&lt;BR /&gt;311&amp;nbsp;&amp;nbsp;&amp;nbsp; set biggie( where=( rows &amp;gt;&amp;amp;prior_posn) ) ;&lt;BR /&gt;INFO: Index rows selected for WHERE clause optimization.&lt;BR /&gt;312&amp;nbsp; run ;&lt;/P&gt;&lt;P&gt;NOTE: There were 1500000 observations read from the data set WORK.BIGGIE.&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WHERE rows&amp;gt;8500000;&lt;BR /&gt;NOTE: The data set WORK.TO_BE_ANALYSED has 1500000 observations and 11 variables.&lt;BR /&gt;NOTE: DATA statement used (Total process time):&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; real time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 40.99 seconds&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cpu time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3.08 seconds&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 15 Apr 2013 10:44:42 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Ineffective-index/m-p/99021#M20864</guid>
      <dc:creator>Peter_C</dc:creator>
      <dc:date>2013-04-15T10:44:42Z</dc:date>
    </item>
  </channel>
</rss>

