Так, насчет обновления индексов — может и соврал :)
Насчет того, ч то дергают таблицу: посмотрите на READ_COMMITTED_SNAPSHOT уровень изоляции. Поможет избежать блокировок таблицы на чтение => ускорит чтение при одновременной записи в разы
На пальцах: то, колонки, которые есть в запросах с WHERE должны быть в индексе.
Например, Select * from Table WHERE UserId= 1 AND PermissionId = 2
В этом случае уместен индекс по полям UserId, PermissionId.
При этом, стоит учитывать, что чем больше индексов, тем медленнее вставки. Поэтому главное не переборщить :)
Также очень поможет в Management Studio просмотр планов запросов, там показывается, какие индексы используются
Попробовал поставить мускуль и сделать тестовый проект — столкнулся с массой проблем, то сервис не стартует, то модель по базе не генерится, то еще что-нибудь. Честно, не понимаю, зачем вам это, если проект новый и можно взять постгре.
Почитал ваши ответы ниже — вывод, надо тюнить иннодб. А еще лучше, взять постгре, затюнить его, и не ограничивать себя мускулем. Будет гораздо больший профит от этого, как мне кажется.
Я собрался апгрейдиться. Сейчас у меня система на socket 775, хочу брать Am3+, а бульдозеров еще самих нет, вот и думаю сменить мамку и память, чтобы лежали