sql >> Databáze >  >> RDS >> Mysql

je dobré ukládat desetinnou hodnotu jako varchar v mysql?

Krátká odpověď zní:Ne, poškodí to výkon.

Delší odpověď:Pole VARCHAR mají proměnnou délku, to znamená, že formátování databázových bloků nemůže předem zohlednit velikost tam vyplňujících dat. Jistě, existuje maximální délka pole, ale jinak jste na tom hůř.

Na druhou stranu, čtení VARCHAR a jeho interpretace, aby se vešel do typu s plovoucí desetinnou čárkou, vás bude stát. A přináší nové možnosti problémů. Pokuste se získat všechna desetinná místa, která představují "11,99". Doufám, že zadáte správný počet desetinných míst, protože ve VARCHAR "11,99" !="11,990".

A pak je tu indexování. Desetinné pole obvykle nikdo neindexoval, ale pokud se tak nestane, bude index v poli VARCHAR vyžadovat více místa.

Celkově vzato není dobrý nápad ukládat něco do nespecifického typu pole. Ve struktuře DB se obvykle považuje za nejlepší postup, aby byl co nejkonkrétnější.



  1. MySQL WHERE IN ()

  2. MariaDB DEFAULT() Vysvětleno

  3. Vkládání dat do více tabulek pomocí jednoho formuláře

  4. Jak vytvořit blog v PHP a MySQL databázi - Admin Posts