sql >> Database >  >> RDS >> Mysql

Heeft het invloed op de prestaties bij het gebruik van DECIMAL (17,13) voor zowel breedte- als lengtegraadgegevens in MySQL?

Zelfs 12 cijfers is belachelijk. Ik raad een van de volgende aan:

DECIMAL(8,6)/(9,6) is voldoende om twee personen die naast elkaar staan ​​te onderscheiden. En ik vermoed dat GPS niet zo nauwkeurig is. Totaal:9 bytes voor de twee kolommen.

DECIMAL(6,4)/(7,4) is voldoende voor woningen of bedrijven, behalve dat er geen verticale component is. 7 bytes.

Meer bespreking van lat/lng-precisie:http://mysql.rjweb.org/doc .php/latlng#representation_choices of https://stackoverflow.com/a/50126941/1766831

Qua prestaties is er niet veel verschil. Dit zijn de punten:

  • Meer decimalen nemen meer schijfruimte (en RAM-cache) in beslag, dus het vertraagt ​​iets.
  • Meer decimalen betekent meer rekenwerk om met de cijfers te werken. Nogmaals, dit is slechts een kleine hit.

Andere maten die je noemde:

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

duurt in totaal 16 bytes. Ondertussen, dit paar:

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

is slechts één byte kleiner!




  1. Onnodige zoekopdrachten in Hibernate - MySql

  2. FOUT:kan de native extensie van de gem niet bouwen - Fout bij het installeren van mysql2

  3. Propel hoofdlettergevoelige phpNames voor kolommen

  4. MySQL-injecties vermijden met de klasse Zend_Db