Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Czy powinienem przechowywać pole PRICE jako int czy jako float w bazie danych?

Interesujące pytanie.

Właściwie nie wybrałbym floata w środowisku mysql. Zbyt wiele problemów w przeszłości z precyzją z tym typem danych.

Dla mnie wybór byłby pomiędzy int i decimal(18,4) .

Widziałem rzeczywiste przykłady liczb całkowitych używanych do reprezentowania wartości zmiennoprzecinkowych. Robią to wszystkie wewnętrzne tablice JD Edwards. Ilości są zwykle dzielone przez 10000. Chociaż jestem pewien, że jest to szybsze i mniejsze w tabeli, oznacza to po prostu, że zawsze musimy PRZELEWAĆ wartości int na wartość dziesiętną, jeśli chcemy coś z nimi zrobić, zwłaszcza dzielenie.

Z perspektywy programowania zawsze wolę pracować z decimal za cenę ( lub money w RDBMS, które to obsługują).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dlaczego jdbcTemplate.batchUpdate() Springa jest tak powolny?

  2. Wyszukiwanie geograficzne MYSQL z wydajnością na odległość

  3. Porządkowanie wyników zapytania według pól z innej tabeli (MySQL)

  4. Uzyskiwanie rodzica root

  5. Używanie Wicket do wyświetlania obrazu przechowywanego jako BLOB w bazie danych MYSQL