เหตุใดจึงใช้ชนิดข้อมูลภูมิศาสตร์ของ SQL Server 2008
ฉันกำลังออกแบบฐานข้อมูลลูกค้าใหม่และหนึ่งในข้อมูลใหม่ที่ฉันต้องการจัดเก็บพร้อมกับช่องที่อยู่มาตรฐาน (ถนนเมือง ฯลฯ ) คือที่ตั้งทางภูมิศาสตร์ของที่อยู่ กรณีการใช้งานเดียวที่ฉันนึกถึงคืออนุญาตให้ผู้ใช้ทำแผนที่พิกัดบนแผนที่ Google เมื่อไม่พบที่อยู่ซึ่งมักเกิดขึ้นเมื่อพื้นที่ได้รับการพัฒนาใหม่หรืออยู่ในสถานที่ห่างไกล / ชนบท ความชอบครั้งแรกของฉันคือการจัดเก็บละติจูดและลองจิจูดเป็นค่าทศนิยม แต่แล้วฉันก็จำได้ว่า SQL Server 2008 R2 มีgeographyชนิดข้อมูล ฉันไม่มีประสบการณ์ในการใช้งานgeographyเลยและจากการวิจัยครั้งแรกดูเหมือนว่าจะเกินความจำเป็นสำหรับสถานการณ์ของฉัน ตัวอย่างเช่นในการทำงานกับละติจูดและลองจิจูดที่จัดเก็บเป็นdecimal(7,4)ฉันสามารถทำได้: insert into Geotest(Latitude, Longitude) values (47.6475, -122.1393) select Latitude, Longitude from Geotest แต่ด้วยgeographyฉันจะทำสิ่งนี้: insert into Geotest(Geolocation) values (geography::Point(47.6475, -122.1393, 4326)) select Geolocation.Lat, Geolocation.Long from Geotest แม้ว่าจะไม่ว่ามากความซับซ้อนมากขึ้นว่าทำไมความซับซ้อนเพิ่มถ้าฉันจะได้ไม่ต้อง? ก่อนที่ฉันจะละทิ้งแนวคิดในการใช้geographyมีอะไรที่ฉันควรพิจารณาหรือไม่? จะเร็วกว่าไหมหากค้นหาตำแหน่งโดยใช้ดัชนีเชิงพื้นที่เทียบกับการจัดทำดัชนีเขตข้อมูลละติจูดและลองจิจูด มีข้อดีในการใช้งานgeographyที่ฉันไม่ทราบหรือไม่? หรือในทางกลับกันมีข้อแม้ที่ฉันควรรู้เกี่ยวกับสิ่งที่จะทำให้ฉันgeographyไม่สามารถใช้งานได้หรือไม่? อัปเดต …