Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris

Re^6: For a better efficiency and speed question!

by pvaldes (Chaplain)
on Oct 04, 2011 at 18:17 UTC ( #929628=note: print w/replies, xml ) Need Help??

in reply to Re^5: For a better efficiency and speed question!
in thread For a better efficiency and speed question!

And now for the sql question, if not done yet, you should index or reindex your table (the controlnum field is a good candidate to be in the index) and probably use some views in order to check only a part of your table, and simplify the work to perl.
  • Comment on Re^6: For a better efficiency and speed question!

Replies are listed 'Best First'.
Re^7: For a better efficiency and speed question!
by Anonymous Monk on Oct 04, 2011 at 21:09 UTC
    I didn't understand your logic behind sum of 125 to "date"??

      I'm talking of 125 days of course, but this is not relevant here cause the "problem" is not in the data type, it is in the equation doing the comparison. Incidentally we are talking about a time here, but will be the same using any type of data that can be converted to a number, and that you can sum later to other number.

      if:  (X + 5) < (Y + 4) then: X + 1 < Y

      And all of this leads us to this more compact and probably more desirable form of the query:

      =code my $sql = $dbh->exec_select("SELECT acc,name,date FROM mytable WHERE name != '' AND CURDATE() BETWEEN date + 125 DAYS and date + 365 DAYS AND date BETWEEN '2010-11-11' and '2011-11-11' AND controlnum IN ('00988777','009999','12345','77766','88776','998888 +','2222333','2223999','8877788','9988877','9988888','9998877','999888 +8','9999888','11220000','11223756','22339668','22388577','23334455',' +77665555','88877777','112223333','222339000','223445988','223475699', +'666555555','887777654','88777766666','888777666666') order by date desc"); =cut
        What is relative here is the 1 YEAR increment to the "date" and the 240 DAYS to the CURRENT_DATE. Therefore you are subtracting 1 YEAR from 240 DAYS which is 125 DAYS that you are using to add to the "date", which is relatively the something but less CPU processing time. I like that, I will try this and see how it will affect the performance of the query.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://929628]
[james28909]: i have discovered hash of arrays
[james28909]: @{$hash{$key}}$_;

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (7)
As of 2017-04-27 19:23 GMT
Find Nodes?
    Voting Booth?
    I'm a fool:

    Results (512 votes). Check out past polls.