У меня странная ситуация, когда иногда мое веб-приложение (работает на платформе Play 1.5) перестает извлекать результаты для определенного запроса. Таким образом, после нескольких попыток веб-сервер вернет тайм-аут.
Я использую базу данных SQL Azure. Поэтому, чтобы это исправить, я вхожу в SQL Sever Management Studio и создаю копию существующего табличного индекса, потому что я знаю, что этот конкретный индекс очень важен для этого запроса. Это дублирующий индекс в той же таблице. После этого, когда я обновляю веб-приложение, оно получает результаты из базы данных. Так что кажется, что каким-то образом существующий индекс был признан недействительным, поэтому он не используется, когда запрос поступает из внешнего интерфейса.
В чем причина этого? Почему я должен был создать дубликат индекса, чтобы получить результаты? Любая причина, почему существующий индекс становится бесполезным? Это происходит случайно, как раз в неделю. Поэтому каждый раз я создаю дубликат индекса, чтобы активировать его использование.