| En tricky sql :) | ||
|---|---|---|
|
blackmamba
10. maj 2011 15:02:12
Pridružen od: 4. mar 2008 559 objav 392 25 11 |
#1
Npr. vodimo evidenco gostovanj. V tabeli je v enem stolpcu zapisan obračunski interval v mesecih (npr. plačuje se vsake 3 mesece) imestranke (VARCHAR) Kako z mysqlom dobiti seznam vseh, ki bodo v roku 5 dni morali plačati gostovanje? Jutri bom nadaljeval s tem, upam pa, da do takrat že dobim kak hint oz. rešitev :) |
|
|
Vini
10. maj 2011 15:10:07
Pridružen od: 1. sep 2006 6612 objav 5234 611 56 |
#2
Je pa to še kar butasta poizvedba, povsem neoptimizirana in jo je s podatki v tej obliki povsem nemogoče optimizirati. Če imaš strank malo, ali pa če poizvedbe ne poganjaš prav pogosto, načeloma ne bo pretirane panike. |
|
|
blackmamba
11. maj 2011 07:45:09
Pridružen od: 4. mar 2008 559 objav 392 25 11 |
#3
Hvala Vini, ampak tole pade, če je datum začetka več kot en interval časa nazaj. Npr. imamo 3 mesečni interval, gostovanje je bilo pa začeto pred 2 letoma. Rešitev je v tem, da datumu pričetka gostovanja prištejemo razliko v intervalih, tako da datum pričetka ni manjši od enega intervala manj kot NOW() :) matr je tole dobr razloženo :) DATEADD(datumzacetka, INTERVAL ( Query traja 0.18s na 500 strankah in poganjal se bo 1x dnevno, tako da ni panike. |
|
|
b00mbar
18. maj 2011 16:51:04
Pridružen od: 18. jun 2008 350 objav 554 127 18 |
Garantirano najhitrejše pure SSD Reseller gostovanje ( PHP7.1, Opcache, Nginx, MariaDB, Let's encrypt) | Brezplačna selitev strani in pošte | 400+ domen po izjemnih cenah
www.neoserv.si |
|