Damgalarını Ayrıştırma - MySQL veya PHP bunu?

6 Cevap php

Diyelim ki bir timestamp sütun içeren bir tablo var diyelim, ve iki dizilerle içine sütunu ayrıştırmak istiyorum - $date ve $time.

Şahsen, Siz:

a) sorgu böyle DATE(timestamp), TIME(timestamp), ya da belki hatta kadar gidiyor HOUR(timestamp), MINUTE(timestamp olarak

b) timestamp sütun kapmak ve PHP bir döngü ile gerektiği gibi dışarı ayrıştırmak

I (a) kolay gibi hissediyorum ... ama o I don't know anything biliyorum. Ve bu benim sorgu çıkışı için aynı kolon 2 veya 3 kez vurmak yapmak için biraz yaramaz hissediyor ...

Bunun için en iyi yöntem var mı?

6 Cevap

Bu kod tabanı için daha kolay ise (a), muhtemelen gayet iyi. Ben gerekli değildir fazladan kod yazmak zorunda değil büyük bir hayranıyım ve gerektiğinde sadece optimize seviyorum. Bana bütün tarihini çekerek ve ardından ayrıştırma için erken optimizasyonu gibi görünüyor.

Her zaman sql sunucuları sorguları so you don't have to. optimize için onları smarts bir sürü var unutmayın

Yani yavaş köpek ya da b) gidin, daha sonra sorunlara yol bulmak ise,) bir ile gitmek. Ben) istediğiniz tüm yapacak şüpheli ve tekrar düşünmek asla.

Ben şahsen (b) yapardı. Zaten satırları döngü için gidiyoruz, ve PHP'nin strtotime() ve date() fonksiyonları onlar çalıştırmak sorunları biçimlendirme tarih / zaman en başa böylece esnektir.

Ben sadece bu yüzden ben alıp bir veritabanı sonra dizi indisleri sürü ile uğraşmak zorunda değilsiniz, mümkün olduğunca küçük benim veritabanı sonuç kümelerini tutmak için denemek için eğilimindedir. Ben daha çok bir sonuç satır dışında bir tek zaman damgası alabilir ve bir sonuç üst üste aynı verilerin birden temsilcilikleri ile anlaşma, ya da belirli biçimlendirme almak için benim SQL sorguları düzenlemek zorunda daha PHP çeşitli değerlere çevirmek istiyorum.

b) Ben takip ve ben onu kullanmak her zaman budur. Ayrıca size bu ön sonunda görünmesini istiyorum nasıl kontrol edememek esneklik verir. Bu düşünün: Eğer bir) takip ediyor ve bir değişiklik yapmak istiyorsanız, elle tüm sorguları değiştirmeniz gerekir. B'ye kullanıyorsanız Ama) sadece DB (bu değer bir işlevi çağırabilirsiniz) ve gitmek iyidir. Hiç bir şey değiştirmek gerekiyorsa, sadece bu fonksiyonu ve viyola içinde değiştirmek! Değil bu ses sizin için bir zaman tasarrufu gibi mi??

Umut olur.

Ben de b) kullanmak istiyorsunuz. Bunun önemli olduğunu düşünüyorum, o noktada ben günlerde adları, ya da başka bir dilde ay kullanmak gerekiyorsa. Ben verilen diline çevirmek için PHP yerel desteğini kullanabilirsiniz, bir) durum olmaz.

Eğer (a WHERE, GROUP BY, ORDER BY, vb gibi) SQL sorgusunda kendisi ihtiyacınız varsa, o zaman bir yol) tercih edilir. Eğer ziyade kod mantığı (PHP ya da her neyse), yol, b) ihtiyacınız varsa tercih edilir.

PHP kodu aslında iyi SQL ile yapılabilir bir görev yaparsa, o zaman ben de bunun için gitmek istiyorum. Eğer sadece saf display amaçlı tarihi biçimlendirmek için gidiyoruz, başka bir deyişle, yol b) Sadece tercih edilir.

Eve yazma kodu php veya mysql sorguları daha fazla hissediyorum, bu aşağı kaynar düşünüyorum?

Ben bu teknik fizibilite daha stil kodlama daha bir soru olduğunu düşünüyorum, ve sizin stil seçmek için olsun.