Как кэшировать последние вставленные данные в MySQL? - PullRequest
0 голосов
/ 17 октября 2010

Возможно ли внутреннее кэширование недавно вставленных данных в базу данных MySQL?
Я посмотрел на кеш запросов и т. Д. (http://dev.mysql.com/doc/refman/5.1/en/query-cache.html), но это не то, что я ищу. Я знаю, что запрос SELECT будет кэширован.

Детали:
Я вставляю много данных в базу данных MySQL каждую секунду.
У меня есть два вида пользователей для этих данных.

  1. Пользователи, которые запрашивают любые случайные данные
  2. Пользователи, которые запрашивают недавно вставленные данные

Для пользователей 2-го типа моя таблица имеет первичный ключ как метку времени Unix, которая сообщает мне, насколько новые данные. Есть ли способ кэшировать данные во время вставки?

Один из вариантов - написать собственный модуль кеширования, который кеширует данные, а затем «INSERT».
Пользователи могут запросить этот модуль перед переходом на БД MySQL.
Мне просто интересно, если что-то подобное доступно.

PS: я открыт для другой базы данных, предоставляющей аналогичную функцию.

1 Ответ

0 голосов
/ 17 октября 2010

Обычно вы получаете наилучшую производительность от MySQL, если разрешаете большой кэш индекса (настройка конфигурации key_buffer_size), по крайней мере для таблиц MyISAM.

Если задержка действительно является проблемой (как это кажется в вашейслучай) взгляните на Sphinx , который недавно ввел индексы в реальном времени.

...