Задавайте вопросы, мы ответим
Вы не зашли.
Здравствуйте!
Совсем недавно начал осваивать MySQL ввиду необходимости (после Оракла, Мускулем можно более менее свободно пользоваться вроде как) и сразу наткнулся на грабли с выполнением ресурсоемких запросов.
Ситуация: был Access-овский файл в который раньше подгружались данные (статистические данные) и впоследствии там же обрабатывались. Коллега попросил помочь все это дело автоматизировать, подускорить, устроить автозаливку данных и раздать страждущим в сети. Выбор пал на MySQL. И так, базы заведены, пробные данные залиты, запросы отточены и оптимизированы донельзя. Есть и готовый веб-интерфейс под это дело (его я правда делал на ASP.NET - извращение, да, но PHP я не знаю).
И собственно вопрос - при отвлеченном "ковырянии" через MySQL Workbench получаю сбросы соединения по таймауту - говорит сервер убежал, однако запрос выполняется что видно по загруженности системы. В основном коде я конечно проставил таймауты на выполнение запросов, да и мускулу задал wait_timeout. Пока на тестовых данных полет нормальный (их не так много как будет в реальности).
Не проявится ли это как либо в последствии - вылеты по таймауту - промежуточные итоги занимают не более 1-5 секунд, а сводные на порядок больше (вся база в идеале дожна быть порядка 1 млн записей в основной рабочей таблице)?
Веб-Сервер IIS 6 на Win2k3, .NET 2.0, C# Connector 6.1.5
Mysql 5.1 (ставил из портов) на чистой FreeBSD 8.1
Отредактированно Soapnix (17.02.2011 11:45:49)
Неактивен
Вы очень теоретически задаете вопрос. Отключите таймауты, загрузить рабочий объем данных и проверьте. Скорее всего какие-то запросы у вас работают медленно, так как не хватает индексов. Найдите такие запросы и приведите здесь.
Неактивен
Вчера не получилось отписаться.
Вопрос и есть теоретический.
Рабочий объем проблемно загрузить т.к. структура сильно изменилась в процесе переноса.
Пока сделали параллельную загрузку туда и туда - будем смотреть за поведением.
Проверил и подкорректировал индексы, маленькие запросы несмотря на разрастание "стреляют", а медленные запросы медленно работают похоже только по той причине, что передается много параметров и в них идет куча сравнений типа "like", без которых нельзя.
Неактивен