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

Má to vliv na výkon při použití DECIMAL(17,13) pro data zeměpisné šířky i délky v MySQL?

I 12 číslic je směšné. Doporučuji jednu z následujících možností:

DECIMAL(8,6)/(9,6) stačí k rozlišení dvou osob stojících vedle sebe. A mám podezření, že GPS není tak přesná. Celkem:9 bajtů pro dva sloupce.

DECIMAL(6,4)/(7,4) je dostačující pro domy nebo podniky, kromě toho, že zde není žádná vertikální složka. 7 bajtů.

Další diskuze o přesnosti lat/lng:http://mysql.rjweb.org/doc .php/latlng#representation_choices nebo https://stackoverflow.com/a/50126941/1766831

Co se týče výkonu, tak velký rozdíl není. Zde jsou body:

  • Více desetinných míst zabírá více místa na disku (a mezipaměti paměti RAM), takže to mírně zpomaluje.
  • Více desetinných míst znamená více výpočtů pro práci s číslicemi. Opět se jedná pouze o mírný zásah.

Jiné velikosti, které jste zmínil:

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

zabírá celkem 16 bajtů. Mezitím tato dvojice:

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

je pouze o jeden bajt menší!




  1. Jak výkonný je váš uzel ProxySQL?

  2. Struktura tabulky MySQL, potřebuji primární klíč?

  3. chyba postgresql PANIC:nelze najít platný záznam kontrolního bodu

  4. Zjistěte, proč se nepodařilo odeslat e-mail na SQL Server (T-SQL)