Доброго времени суток.У меня проблема настройкой MySQL, имеется база на MySQL в базе несколько таблиц, в одной из таблиц 34 миллиона записей, объем базы 5 Гбайт. Выполняю запрос по выборке данных из таблицы, запрос выполняется 500 сек и более (те же самые данные в том же объеме на MSSQL тот же самый запрос выполняется менее 5 сек).
На сервере Linux (Fedora 8), оперативной память 4 Гига.
TOP показывает что MySQL использует память всего 300 Мб.Что посоветуете понастроить, для увеличения производительности?
>
>Что посоветуете понастроить, для увеличения производительности?прежде чем что-либо крутить надо
внимательно посмотреть на таблицы
и запросы.например: для долгих запросов выполнить
EXPLAIN SELECT ...
Танцы с бубнами выполнили, индексы строили, структуру оптимизировали.
Мне кажется что тут сложности, с выделением памяти.>[оверквотинг удален]
>
>>
>>Что посоветуете понастроить, для увеличения производительности?
>
>прежде чем что-либо крутить надо
>внимательно посмотреть на таблицы
>и запросы.
>
>например: для долгих запросов выполнить
>EXPLAIN SELECT ...
Ну так открывайте доку мускула на разделе "оптимизация" и усваивайте. С той информацией, что вы из себя выцедили, больше на посоветовать нечего.
>Танцы с бубнами выполнили, индексы строили, структуру оптимизировали.
>Мне кажется что тут сложности, с выделением памяти.неужели гуголь не подсказал как увеличить память для мускула? Не верю. Во для начала:
http://web-scalability.com/2008/05/30/mysql-тюнинг-настраиваем-по-взрослому/И ещё есть у него такой косяк: если запрос с объединениями и с LIMIT x,y (т.е. начало результата отсекается) - мускул будет делать объединения от самого начала. В результате, чем выборка дальше от начала, тем тормознее запрос.
Я это обрулил двумя запросами без объединения: первым выбрал уникальные ключи и нужные данные из первой таблицы, а вторым по перечню ключей выбрал данные из второй таблицы. Объединение сделал уже в программе. Гон конечно, но по другому не получалось быстро.
>[оверквотинг удален]
>
>У меня проблема настройкой MySQL, имеется база на MySQL в базе несколько
>таблиц, в одной из таблиц 34 миллиона записей, объем базы 5
>Гбайт. Выполняю запрос по выборке данных из таблицы, запрос выполняется 500
>сек и более (те же самые данные в том же объеме
>на MSSQL тот же самый запрос выполняется менее 5 сек).
>На сервере Linux (Fedora 8), оперативной память 4 Гига.
>TOP показывает что MySQL использует память всего 300 Мб.
>
>Что посоветуете понастроить, для увеличения производительности?индексы имеются?
>индексы имеются?Да, меняются.