And for your question regarding:
SELECT count FROM table_name WHERE (device_lon >= -179.9999999999995 AND device_lon <= 179.99999999999898) AND (device_lat >= -1.2078378628389714 AND device_lat <= 53.84876223007643) LIMIT 10000001
I found something very weird. The above query returned a higher number versus doing a select count(*) on the entire table. I don’t have the 90 M table anymore, but I tried it on a table with 1 B rows.
The simple SELECT COUNT() without any filters returns: 1073708701
The SELECT COUNT() with the filters returns: 1070310172
Why would that be the case?