Date: Sun, 30 Nov 2008 22:00:46 -0800
Reply-To: Matthew Begun <matthew.begun@GMAIL.COM>
Sender: "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From: Matthew Begun <matthew.begun@GMAIL.COM>
Organization: http://groups.google.com
Subject: Overheads of comparison operators
Content-Type: text/plain; charset=ISO-8859-1
Hi All,
I have a sudden buring desire to know how efficiently SAS handles
comparison operators. I'm quite lazy about using correct ones and I'm
wondering how much time it costs me during each day, if any. I'll be
specific rather than asking a general question, although I am
interested in more detailed information if anyone has it available.
I run my data steps and SQL queries on datasets of about 4M rows. Each
row contains a date field, and there are roughly 4000 unique dates
(they are end of the months). The data is not routinely sorted on
date.
If I want to examine the data for only the latest value of date (this
months data) I usually use code something like
(where=(date>'01Nov2008'd))
rather than
(where=(date='30Nov2008'd))
I do this because I'm lazy, and its less key strokes to change my code
this way. Also I spend 7 hours a day automating other peoples work,
and I have developed coding habits that allow me to do that more
efficiently, without thought to the poor server (I use EG)
My question is - am I wasting processor cylces? Would I notice the
difference if I changed? Does it matter if its SQL or a Data Step? In
proc sql, would it matter if it was a (where=()) clause or a WHERE sql
statement ?
Thanks in advance, I'll go away and do some empirical testing now but
I thought I'd see if anyone had the theortical answer.
Cheers