У меня эта проблема на нашем производственном сервере. Стека приложение,MySQL как запрос работает очень медленно для таблицы 5000 записей
- Java-приложение на веб-сервере Tomcat 6.0.18
- Ibatis уровень доступа к данным
- MySQL 5.0 базы данных
- CentOS
Система развернута на виртуальном сервере, имеющей около 256 МБ памяти.
Реальная проблема:
Запрос, как,
select * from customer
выполняется примерно за 10 секунд, однако, если следующий запрос будет выполнен,
select * from customer where code like '%a%'
сразу после выполнения вышеуказанного запроса, то система переходит в неопределенную обработку и, в конечном счете, заставляет Tomcat перезагружаться!
статистика Таблицы: - Количество записей: 5000 - Первичный ключ: Код
Тот же PHP запроса MyAdmin выполняется примерно за 4 секунды.
Считаете ли вы, что это проблема MySQL? Любая идея отладить это. Я сейчас предоставляю подробные журналы и буду постоянно обновлять этот вопрос с моими выводами, но буду благодарен за ваши знания db.
Это должно было написать заявление в тексте BOLD. Возможно, я использовал неправильный тег MarkDown. Позвольте мне исправить это – jatanp
Я получаю его. Я починил это. – Asaph
Я бы не ожидал 'select * от клиента, где код типа '% a%'' был бы быстрым, поскольку он не мог использовать индекс. Каждая запись должна быть проверена. Рассмотрите 'select * от клиента, где код, например 'a%' ', если это возможно, поскольку это может реально использовать индекс. – Asaph