Weergegeven resultaten: 1 t/m 8 van 8
  1. #1
    Member Syphon's schermafbeelding
    Lid sinds
    20/10/02
    Locatie
    Mechelen
    Berichten
    253
    iTrader
    0

    SELECT timestamps van vandaag

    Nog iets wat ik probeer te achterhalen. Ik heb de kolom "datum" met in elke rij een unix timestamp. Dus het wordt in de tabel gezet met date('U').

    Ik ben een functie aan het schrijven voor het ophalen van de resultaten van vandaag, deze week, deze maand en gewoon alles.

    SELECT * FROM tutorials WHERE datum >= '..........'

    op de stippelijntjes zou dus moeten staan :
    1)- waar de timestamp = aan de dag van vandaag
    2)- waar de timestamp = begin van de week tot nu (vanaf 's maandags)
    3)- waar de timestamp = begin van de maand tot nu

  2. #2
    Member Fr3aK's schermafbeelding
    Lid sinds
    17/07/02
    Locatie
    Antwerpen
    Berichten
    2.607
    iTrader
    0
    Vandaag:
    Code:
    SELECT * FROM tutorials WHERE DAYOFYEAR(datum) = DAYOFYEAR(NOW()) AND YEAR(datum) = YEAR(NOW())
    Deze week:
    Code:
    SELECT * FROM tutorials WHERE WEEK(datum,1) = WEEK(NOW(),1) AND YEAR(datum) = YEAR(NOW())
    Maand:
    Code:
    SELECT * FROM tutorials WHERE MONTH(datum) = MONTH(NOW()) AND YEAR(datum) = YEAR(NOW())

  3. #3
    Member Syphon's schermafbeelding
    Lid sinds
    20/10/02
    Locatie
    Mechelen
    Berichten
    253
    iTrader
    0
    is dat niet bedoeld voor tijdweergave in de vorm van 2009-01-03?
    Want ik werk hier met unix timestamp.

    Heb dit gevonden
    DAYOFYEAR(FROM_UNIXTIME(datum)) = DAYOFYEAR(NOW())

    het lijkt op eerste zicht correct te werken
    Laatst gewijzigd door Syphon; 3 januari 2009 om 23:23

  4. #4
    Member Fr3aK's schermafbeelding
    Lid sinds
    17/07/02
    Locatie
    Antwerpen
    Berichten
    2.607
    iTrader
    0
    Hmm, my bad, was ik vergeten, dus gewoon FROM_UNIXTIME rond elke "datum" plaatsen

  5. #5
    Member Syphon's schermafbeelding
    Lid sinds
    20/10/02
    Locatie
    Mechelen
    Berichten
    253
    iTrader
    0
    Ik gebruik in heel de database enkel timestamps . Nu lees ik dat dit niet de beste manier is om de datum bij te houden. Omdat ik al makkelijk vele duizenden rijen tot paar miljoen kan hebben binnenkort, zou het dan veel schelen op snelheid om een andere manier te gebruiken?

  6. #6
    Member Fr3aK's schermafbeelding
    Lid sinds
    17/07/02
    Locatie
    Antwerpen
    Berichten
    2.607
    iTrader
    0
    Citaat Oorspronkelijk geplaatst door Syphon Bekijk bericht
    Ik gebruik in heel de database enkel timestamps . Nu lees ik dat dit niet de beste manier is om de datum bij te houden. Omdat ik al makkelijk vele duizenden rijen tot paar miljoen kan hebben binnenkort, zou het dan veel schelen op snelheid om een andere manier te gebruiken?
    Goh, ik sla datums ook meestal op als UNIX_TIMESTAMP omdat het dan via PHP makkelijker werken is. Ik vermoed dat die paar datum operaties in MySQL niet zoveel "merkbare" impact hebben op de snelheid...

    De keuze is aan jou, je kan altijd eens proberen om je datums om te zetten, dan zie je meteen of het een impact heeft, een paar simpele queries should do the job.

  7. #7
    Member Lord Kveldulv's schermafbeelding
    Lid sinds
    20/05/07
    Locatie
    Pays des Collines
    Berichten
    3.426
    iTrader
    5 (100%)
    In mysql steek ik altijd zo weinig mogelijk als nodig is. Ik ga bijv. geen datetime gebruiken als ik enkel een date nodig heb. En je hebt in mysql de UNIX_TIMESTAMP() functie voor als je timestamps in php wilt gebruiken.

    Overigens is TIMESTAMP wellicht het minst performante fieldtype van allemaal. Het is in feite een DATETIME met nog extra properties. Ik zou het enkel gebruiken als je het echt nodig hebt.

  8. #8
    Member Syphon's schermafbeelding
    Lid sinds
    20/10/02
    Locatie
    Mechelen
    Berichten
    253
    iTrader
    0
    Momenteel loopt de website vlot genoeg. Zulke dingen kan ik toch later nog vrij makkelijk aanpassen bij mijn jaarlijkse vernieuwing. Dan herschrijf ik delen van de website want dan heb ik altijd wel nieuwe dingen geleerd wat de performance ten goede komt.

Discussie informatie

Users Browsing this Thread

Op dit moment bekijken 1 gebruikers deze discussie. (0 leden en 1 gasten)

Regels voor berichten

  • Je mag geen nieuwe discussies starten
  • Je mag niet reageren op berichten
  • Je mag geen bijlagen versturen
  • Je mag niet je berichten bewerken
  •