Chẵn 12 chữ số là lố bịch. Tôi đề xuất một trong những điều sau:
DECIMAL(8,6)/(9,6)
đủ để phân biệt hai người đứng cạnh nhau. Và tôi nghi ngờ GPS không chính xác như vậy. Tổng:9 byte cho hai cột.
DECIMAL(6,4)/(7,4)
là đủ cho nhà ở hoặc cơ sở kinh doanh, ngoại trừ trường hợp không có cấu kiện thẳng đứng. 7 byte.
Thảo luận thêm về độ chính xác lat / lng: http://mysql.rjweb.org/doc .php / latlng # agentation_choices hoặc https://stackoverflow.com/a/50126941/1766831
Đối với hiệu suất, không có nhiều sự khác biệt. Đây là những điểm:
- Nhiều chữ số thập phân hơn sẽ chiếm nhiều dung lượng đĩa hơn (và bộ nhớ cache ram), vì vậy, mọi thứ sẽ chậm lại một chút.
- Nhiều vị trí thập phân hơn có nghĩa là phải tính toán nhiều hơn để làm việc với các chữ số. Một lần nữa, đây chỉ là một cú đánh nhẹ.
Các kích thước khác mà bạn đã đề cập:
lat DECIMAL(17, 13)
lon DECIMAL(17, 13)
chiếm tổng cộng 16 byte. Trong khi đó, cặp này:
lat DECIMAL(14, 12)
lon DECIMAL(15, 12)
chỉ nhỏ hơn một byte!