Datetime VS Unix timestamp [çoğaltmak]

3 Cevap php

Possible Duplicate:
datetime vs timestamp?

Ben bir sütun add_date olan bir MySQL tablo var. Bu kayıt veritabanına eklenen tarih / zaman izler.

Bu tabloya dayalı sorgular:

  1. 2 saat önce, 4 hafta önce, 1 yıl önce vb: kayıt formatında eklenmiştir gösterilecek
  2. Kullanıcılar herhangi bir gün / ay / yıl eklenen kayıtları aramak için izin verir. Böylece kullanıcı sadece 2009 yılında eklenen kayıtları görmek için seçmek için izin olabilir.

Unix timestamp veya datetime - bu durumda daha iyi olurdu ki?

Şu anda ben de kullanıyorum ama tablo zamanla kayıtları milyonlarca olacak beri, her iki sütun veritabanının boyutunu etkileyebilir sahip.

Unix timestamp PHP 2 hours önce biçimine dönüştürme için daha iyi gibi görünüyor ve aynı zamanda bağımsız timezone. Ama datetime iyi okunabilirliği vardır ve belirli bir tarih / saat / yıl için bir sorgu yapmak daha kolay gibi görünüyor.

Öneriniz?

3 Cevap

Eğer seçim var, ben mySQL tarihler için gitmek söyleyebilirim.

  • Sen date range issue s bakmak zorunda kalmazsınız

  • Kolayca MySQL tarih fonksiyonları (BETWEEN(), DATE_ADD, vb) kullanarak zaman açıklıklı sorgulayabilir

  • Eğer büyük sorgularda pahalı olabilir FROM_UNIXTIME() kullanmak zorunda olmayacak çünkü Tarih ilgili sorgular, size kayıtları milyonlarca var, özellikle çok daha hızlı olacak

  • Bu gerekli UNIX damgaları içine TARİH alanlarını dönüştürmek için çocuk oyuncağı.

Ben zaman damgası ile size bir dönüşüm mal olacak kullanmak için mysql datetime fonksiyonunun bol sırf, mysql biçimleri için gitmek istiyorum.

but since the table will have millions of records over time, having both columns may affect the size of the database.

oh my.
are you really concerned in 4 additional megabytes of space?

Gereken yerde datetime formatına sonucu dönüştürmek bir Unix zaman damgası ve MySQL from_unixtime() fonksiyonunu kullanarak her iki dünyanın en iyi olsun.