Сначала я должен сказать, что я действительно новичок в кешировании, поэтому, пожалуйста, уточните любое объяснение и постарайтесь ответить на мой вопрос, если мой вопрос глуп.
У меня есть сервер с довольно ограниченными ресурсами, поэтому я действительно заинтересован в том, чтобы максимально эффективно кэшировать db-запросы. Моя проблема заключается в следующем:
У меня есть MYSQL DB с таблицей для геолокации, есть столбцы (lat и lng) - я только проиндексировал lat, так как запрос всегда будет иметь оба значения lat и lng, и только 1 индекс может быть эффективно использован для моего понимания ( ?).
Запросы очень чередуются в координатах, таких как
select lat, lng
where lat BETWEEN 123123123 AND 312412312 AND lng BETWEEN 235124231 AND 34123124
, где длинные числа, которые являются границами запроса BETWEEN
, постоянно меняются, поэтому есть способ кешировать это разумным способом, так что кэш не должен быть полным совпадением запроса, но Значения предыдущих между запросами могут быть сохранены против нового, чтобы сэкономить некоторые ресурсы БД?
Надеюсь, вы получите мой вопрос - если нет, пожалуйста, спросите.
Большое спасибо
Обновление 24.01.2011
Теперь, когда я получил какой-то ответ, я хочу знать, каким будет самый эффективный способ запроса.
- Будет ли запрос Between со значениями int выполняться быстрее или
- будет ли вычисление радиуса с точечными значениями выполняться быстрее
если 1. то как будет выглядеть оптимальный индекс?