Вот мой вопрос.У нас есть веб-приложение, которое позволяет пользователю играть, и каждый раз, когда «игра» (один клик) обновляет счет в базах данных.Фактический sql может выглядеть так:
UPDATE `play_counts` SET `counts` = counts + 1, `modified` = '2011-06-01 00:00:00' WHERE `campaign_id` = 3;
Query_time: 2.564047 Lock_time: 0.000030 Rows_sent: 0 Rows_examined: 1
Это было хорошо в течение достаточно долгого времени, пока он не выводился в журнале медленных запросов mysql в последнее время.Есть ли какие-либо предложения по улучшению производительности?
Я имею в виду «кэшировать» счетчики на другом носителе (вне базы данных) и обновлять базу данных, используя пакетный режим.Но я рад услышать больше.
ОБНОВЛЕНИЕ
Таблица play_counts
представляет собой не что иное, как подсчет, и ее PK имеет значение campaign_id.
В настоящее время мы используем движок InnoDB.Что лучше изменить на MyISAM?
UPDATE2 Обычно sql занимал всего 0,01 сек, но только несколько раз - 2 сек.Я думаю, что-то не так, кроме индекса или настройки SQL.