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

Има ли влияние върху производителността при използване на DECIMAL(17,13) както за географска ширина, така и за дължина в MySQL?

Дори 12 цифри е нелепо. Препоръчвам едно от следните:

DECIMAL(8,6)/(9,6) е достатъчно, за да се разграничат две лица, стоящи един до друг. И подозирам, че GPS не е толкова точен. Общо:9 байта за двете колони.

DECIMAL(6,4)/(7,4) е достатъчен за къщи или бизнеси, с изключение на това, че няма вертикален компонент. 7 байта.

Още обсъждане на точността на lat/lng:http://mysql.rjweb.org/doc .php/latlng#representation_choices или https://stackoverflow.com/a/50126941/1766831

Що се отнася до производителността, няма голяма разлика. Ето точките:

  • Повече десетични знаци отнемат повече дисково пространство (и кеш паметта), така че забавя нещата леко.
  • Повечето десетични знаци означава повече изчисления за работа с цифрите. Отново, това е само лек удар.

Други размери, които споменахте:

lat DECIMAL(17, 13)
lon DECIMAL(17, 13)

заема общо 16 байта. Междувременно тази двойка:

lat DECIMAL(14, 12)
lon DECIMAL(15, 12)

е само с един байт по-малък!




  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. readyStatement SQL грешка

  4. INSERT IN .. ПРИ АКТУАЛИЗИРАНЕ НА ДУБЛИРАН КЛЮЧ за множество елементи

  5. mysql автоматично прехвърля низове към цяло число