У меня такая ситуация:MySQL - одновременные ВЫБОРЫ - один клиент ждет другого?
У меня есть база данных с таблицей MyISAM размером около 4 миллионов строк. Я использую хранимые процедуры (MySQL Version 5.1) и, в частности, для поиска по этим строкам по различным критериям. В этой таблице указано несколько индексов, и запросы через эту хранимую процедуру обычно очень быстрые (< 1s). В основном я использую подготовленный оператор и создаю и выполняю некоторый динамический SQL в этом поиске sp. После выполнения подготовленного заявления я выполняю команду «DEALLOCATE PREPARED stmt»;
Большинство запросов выполняются под вторым (я использую LIMIT для получения всего 15 строк в любое время). Однако есть некоторые редкие запросы, которые занимают больше времени (скажем, 2-3 секунды). Насколько я могу оптимизировать таблицу поиска.
Я разработал веб-приложение, и я могу запустить и увидеть результаты быстрых запросов за секунду на моей машине разработки.
Однако, если я открываю два экземпляра браузера и выполняю одновременный поиск (против машины разработки), один с более длинным запросом, а другой с более быстрым запросом, результаты возвращаются в одно и то же время, то есть похоже, что быстрый запрос ожидает завершения более медленного запроса перед возвратом результатов. то есть оба запроса будут занимать 2-3 секунды ...
Есть ли причина для этого? Поскольку я думал, что MyISAM обрабатывает SELECTS независимо друг от друга, и в настоящее время это не то поведение, которое я испытываю ...
Заранее благодарен! Tim
Может быть, причина! Я еще не пробовал это с разных машин, но я полагаю, что ты прав! Благодаря! – TMM