Odd things about MySQL

Today, I optimized a MySQL query to find spatial points by proximity. Initially, my query took an average of 250 ms. After some research, I came across a document from MySQL. By following their recommendation to use a preliminary approximation via a bounding box, I was able to reduce the query time to a range of 5 to 35 ms. However, as I continued reading, I discovered that MySQL also offers a spatial extension based on R-Tree. I thought I had found the perfect solution. But no, R-Trees are only available with the MyISAM engine, and creating spatial indexes is not allowed in InnoDB. The same goes for FULLTEXT indexes, which are also not available in InnoDB. ...

November 30, 2007 · Florent Clairambault

I took the time to add some [OpenLayers][1] support to a web application I’m working on, mainly because I wanted to have [OpenStreetMap][2] maps. It can’t replace VirtualEarth or Google Maps because the maps lack a lot of data but unlike GMaps and VirtualEarth it’s free for commercial applications. [OpenLayers][1] is a powerful tool. But it’s a little bit ugly (GeoRSS rendering is lame, maps tiles are were loading in a strange way) and I don’t really like the documentation (if you compare to the Google Maps API pages, it sucks).

Florent Clairambault