MySQL before version 5.7 had less than stellar Geographic Information Systems (GIS) support. In version 5.7 the Boost.Geometry two dimensional or 2D libraries were added. And with 8.0 came the three dimensional or 3D libraries. But how do you use these features?
I would like to state up front that this is all new to me and this is an attempt for me to document what it takes to go from zero knowledge on GIS to something hopefully better. What I want to do as an exercise is to get the distance between two places from their longitude and latitude, say two cities near where I live. So what do we have to do to accomplish that?
It is actually easy with the functions provided if we have the longitude and latitude in an SRID 4326 format.
(SELECT loc FROM cities WHERE name = 'Trondheim'),
(SELECT loc FROM cities WHERE …
As for the fixes/changes, there are quite a few (the official release was split into 3 separate emails), which is expected in such an early milestone release.
The main highlights for me were (though the enhancements, and potentially impactful changes, are definitely not limited to this list):
- InnoDB: The innodb_buffer_pool_size parameter is now dynamic, allowing you to resize the buffer pool without restarting the server. The resizing operation, which involves moving pages to a new location in memory, is performed chunks. Chunk size is configurable using the new …