1

Yinelenen etkinlikler de dahil olmak üzere takvim etkinliği tarihlerini saklıyorum. Masa büyük olabilir. Sorgularımın çoğu bir ay aralıkları için (yani, etkinlik başlangıcı> = '1/1/2001' ve eventtop < = '1/31/2001') sorgularımda bu kadar zaman umursamıyorum.Tarih, büyük veri kümelerindeki sorgular için tarih saatinden daha performanslı mıdır?

Tarih sütunu ve datetime sütununa baktığımda aralık sorgularında daha iyi performans elde edebilir miyim?

+3

Bilmiyorum ama datetime' '8 bayt ile karşılaştırıldığında sadece 3 byte olduğu gibi, evet derdim. Sadece kayıt için, aynı zamanda 4 byte olan "smalldatetime" da var ve bu daha iyi bir karşılaştırma olabilir. – Andrew

+1

Ayrıca, sorgularınız daha doğru bir şekilde doğru olur. Örneğinizde, 'eventtings> = '1/1/2001' ve 'datetime' türünde event = '1/31/2001' 'etkinliklerinde 31 Ocak'ta saat 10'da bir etkinliği özlüyor olabilirsiniz. Sadece 31 Ocak sabahı gece yarısına kadar gider. Eğer bir 'date' sütun olsaydı, sorgunuz her zaman Ocak ayında herhangi bir olayı seçerdi. Bu yüzden zamanı saklamanız gerekmiyorsa, hızın üstünde ve daha küçük depolama gereksinimlerinde 'date' türünde başka avantajlar da vardır. –

+0

@Andrew, smalldatetime ANSI standardı değildir ve kullanmamanız önerilir. https://msdn.microsoft.com/en-us/library/ms182418.aspx – FLICKER

cevap

1

Kural 1) Her zaman mümkün olan en büyük değeri alabilecek en küçük veri boyutunu kullanın.

http://www.sql-server-performance.com/2007/datatypes/

+0

Microsoft artık smalldatetime kullanmamanızı önerir. https://msdn.microsoft.com/en-us/library/ms182418.aspx – FLICKER

+0

http://www.sql-server-performance.com/2007/datatypes/ – Vincent

+0

Artı, soru tarih veya tarih saatiydi. Kimse senin dışında küçük bir tarihten bahsetmedi. Ama hey, oylama için teşekkürler. – Vincent

İlgili konular