Pathologically Eclectic Rubbish Lister PerlMonks

### Re^2: For a better efficiency and speed question!

 on Oct 04, 2011 at 15:46 UTC ( #929582=note: print w/replies, xml ) Need Help??

"...WHERE mame" just typed it wrong, but it is ...WHERE name <> '', name is not equal do empty.

Replies are listed 'Best First'.
Re^3: For a better efficiency and speed question!
by pvaldes (Chaplain) on Oct 04, 2011 at 15:49 UTC

... two times, your sql is malformed

```=code
my \$sql = \$dbh->exec_select("SELECT acc,name,date FROM mytable WHERE m
+ame<>''

and same problem after the my \$control_num line

AND ((date + 125 DAYS) < CURRENT_DATE)

The same as this but more easy to calculate

AND ((date + 1 YEAR) < (CURRENT_DATE + 240 DAYS) )
What is wrong with this code?
```=code
my \$sql = \$dbh->exec_select("
SELECT acc, name,date
FROM mytable
WHERE name <> ''
AND ((date + 1 YEAR) >= (CURRENT_DATE))
AND ((date + 1 YEAR) < (CURRENT_DATE + 240 DAYS))
AND controlnum IN ('12345','8877788','23334455','223445988','222339000
+','2222333','223475699','22339668','2223999','009999','11220000','777
+66','88776'
,'9988888','11223756','22388577','9998888','998888','77665555','999988
+8','88877777','666555555','88777766666','112223333','9998877','998887
+7'
,'888777666666','00988777','887777654')
and date between '2010-11-11' and '2011-11-11' order by date desc");
=cut
If you show where you see the error it would help! Thanks

Nothing wrong really, but you ask for efficiency and speed, and anything counts...

You use: AND ((date + 1 YEAR) < (CURRENT_DATE + 240 DAYS))

Let's see the algoritm. For each record you sum 365 to date and remember this number, then you sum 240 to current date and save this to a new var somewhere in the memory, then you compare both numbers

I'm suggesting this instead: AND ((date + 125 DAYS) < CURRENT_DATE)

Now for each record you sum 125 to date and compare this with current date. You are creating a new var, not two.

Thus you need less memory and is also a little less demanding operation for the CPU. Nothing to care for when you have a few sums but in this context could suppose one advantage

Create A New User
Node Status?
node history
Node Type: note [id://929582]
help
Chatterbox?
 [Discipulus]: ah! just with my old system perl (5.8.8) was needed [Corion]: Has anybody toyed around with Mastodon? There is a Perl module for it, but I'm not sure that it's a yak worth chasing [Corion]: On the upside, maybe running that for my family would be interesting, or at least for myself [Corion]: I'm not fond of using a server hosted by other people, even if they claim to be GNU ;) [Discipulus]: gee a social network with the family.. is this a dread? ;=)

How do I use this? | Other CB clients
Other Users?
Others exploiting the Monastery: (6)
As of 2017-05-26 07:37 GMT
Sections?
Information?
Find Nodes?
Leftovers?
Voting Booth?
My favorite model of computation is ...

Results (189 votes). Check out past polls.