Mysql
 sql >> база данни >  >> RDS >> Mysql

добре ли е да се съхранява десетична стойност като varchar в mysql?

Краткият отговор е:Не, това ще навреди на производителността.

По-дългият отговор:VARCHAR полетата са с променлива дължина, което означава, че форматирането на блоковете на базата данни не може предварително да отчете размера на попълването на данните там. Разбира се, има максимална дължина на полето, но освен това, вие сте по-зле.

От друга страна, четенето на VARCHAR и след това интерпретирането му, за да се побере в тип с плаваща запетая, ще ви струва. И въвежда нови възможности за проблеми. Опитайте се да получите всички десетични знаци, които отчитат "11,99". Надявам се да донесете правилния брой десетични знаци, защото във VARCHAR "11.99" !="11.990".

И след това има индексиране. Обикновено никой не е индексирал десетично поле, но ако вие го направите, индексът на поле VARCHAR ще изисква повече място.

Като цяло, не е добра идея да записвате нещо в неспецифичен тип поле. В структурата на БД обикновено се счита за най-добра практика да бъдете възможно най-конкретни.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. АКТУАЛИЗИРАНЕ/ИЗТРИВАНЕ в mysql и да получите списъка със засегнатите идентификатори на редове?

  2. Класиране на съвместни позиции в MySQL

  3. MySQL:Отрязване на таблица в транзакция?

  4. Избиране на един ред в MySQL

  5. Вмъкнете персийски текст в таблицата на mysql