ONDALIK INT vs iyi optimize seçim nedir?

4 Cevap php

I'm sure this ask is incomplete without a precise context, so I'll try to explain it, and I'll try to be clear
I need to store a whole of data rapresented on the page with grams, milligrams, micrograms and kilojoule.

Tüm bu veriler 99999.99g (dışında kilojoule) gibi, bu yüzden eski MySQL sürümleri ile DECIMAL (7,2) veya ondalık (5,2) kullanabilirsiniz.

Ancak, ben mysql sitede gördüm ettik, DECIMAL veri türü bir MEDIUMINT daha ağır olduğu (yanlış mıyım?) Veri depolamak için yeterli olabilir. Temelde
, ben ondalıklarında sayısal işlemleri yapmak veya gelen yüzer olacak kullanıcı makine ve tekrar bunları saklamak gerekmez, bu yüzden bu durumda en iyi veri türü ne olduğu konusunda kuşku duyuyorum.

yani bu durumda ne iyi veri türü nedir?

4 Cevap

Veri tabanlarının bir amacı sağlamak ve garanti veri bütünlüğü ve depolanması gereken veri tipinin doğal biçimine yakın olduğu bir format veri depolamak için etmektir. (Eğer kriterler yaptık ve çok iyi bir nedeniniz olmadıkça) göz önüne aldığımızda, zamanından önce veritabanı altyapısı için veri türlerini optimize çalışmamalısınız. Bunun yerine, çabaları daha doğru ilişkiler ile uygun şekilde tablo yapıları tasarlama ve nerede uygun hacim ve sahip veri türleri ile veritabanı motoru anlaşma yardım etmek dizinleri oluşturma harcanır. Sen veriler düzgün normalize olduğu ve nerede uygun indeksler ve ilişkileri oluşturulur eğer DB motor işleyebilir ne kadar veri şaşıracaksınız.

Yani, en iyi uygulama olarak, saklamak için ONDALIK türünü tercih decimal veya vb fiyatları, fraksiyonel miktarlar gibi kesirli sayılar

Eğer mümkün olduğunca çok hassas olduğu gibi veri depolamak. Bunu seçtiğinizde her zaman kesebilir.

Eğer hassasiyet gerektiğinde bundan bir yıl ek verileri depolamak pişman olabilir.

Olarak en iyi ben anlıyorum, DECIMAL sayısal bilgisayar nispeten ezoterik kolu olan, tam fixed point arithmetic içindir. Eğer bir tamsayı kısmı ve bir kesirli kısmı ile sayılar ile çalışırken ancak kayan nokta aritmetiği içsel hataları (örneğin muhasebe) izin edilemez zaman alışıyor.

Yani zaten DECIMAL kullanmanız gerektiğini bilmiyorsanız, muhtemelen olmadığını tahmin ediyorum.

Eğer doğruluk ihtiyaç göz önüne alındığında, DECIMAL kullanarak tutmak ve şamandıra türlerini kullanmayın. ONDALIK Eğer ORTA int kullanarak olsaydı olurdu dönüşümleri yapacağız.

Try reading this sometime for why: http://docs.sun.com/source/806-3568/ncg%5Fgoldberg.html