URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 84708
[ Назад ]

Исходное сообщение
"Оптимизация MySQL"

Отправлено Kander , 31-Мрт-09 11:19 
Доброго времени суток.

У меня проблема настройкой MySQL, имеется база на MySQL в базе несколько таблиц, в одной из таблиц 34 миллиона записей, объем базы 5 Гбайт. Выполняю запрос по выборке данных из таблицы, запрос выполняется 500 сек и более (те же самые данные в том же объеме на MSSQL тот же самый запрос выполняется менее 5 сек).
На сервере Linux (Fedora 8), оперативной память 4 Гига.
TOP показывает что MySQL использует память всего 300 Мб.

Что посоветуете понастроить, для увеличения производительности?


Содержание

Сообщения в этом обсуждении
"Оптимизация MySQL"
Отправлено BulgakowI , 31-Мрт-09 12:12 

>
>Что посоветуете понастроить, для увеличения производительности?

прежде чем что-либо крутить надо
внимательно посмотреть на таблицы
и запросы.

например: для долгих запросов выполнить
EXPLAIN SELECT ...


"Оптимизация MySQL"
Отправлено Kander , 31-Мрт-09 15:01 
Танцы с бубнами выполнили, индексы строили, структуру оптимизировали.
Мне кажется что тут сложности, с выделением памяти.

>[оверквотинг удален]
>
>>
>>Что посоветуете понастроить, для увеличения производительности?
>
>прежде чем что-либо крутить надо
>внимательно посмотреть на таблицы
>и запросы.
>
>например: для долгих запросов выполнить
>EXPLAIN SELECT ...


"Оптимизация MySQL"
Отправлено angra , 31-Мрт-09 15:19 
Ну так открывайте доку мускула на разделе "оптимизация" и усваивайте. С той информацией, что вы из себя выцедили, больше на посоветовать нечего.

"Оптимизация MySQL"
Отправлено Sarge , 31-Мрт-09 15:22 
>Танцы с бубнами выполнили, индексы строили, структуру оптимизировали.
>Мне кажется что тут сложности, с выделением памяти.

неужели гуголь не подсказал как увеличить память для мускула? Не верю. Во для начала:
http://web-scalability.com/2008/05/30/mysql-тюнинг-настраиваем-по-взрослому/

И ещё есть у него такой косяк: если запрос с объединениями и с LIMIT x,y (т.е. начало результата отсекается) - мускул будет делать объединения от самого начала. В результате, чем выборка дальше от начала, тем тормознее запрос.
Я это обрулил двумя запросами без объединения: первым выбрал уникальные ключи и нужные данные из первой таблицы, а вторым по перечню ключей выбрал данные из второй таблицы. Объединение сделал уже в программе. Гон конечно, но по другому не получалось быстро.


"Оптимизация MySQL"
Отправлено сабакка , 31-Мрт-09 15:49 
>[оверквотинг удален]
>
>У меня проблема настройкой MySQL, имеется база на MySQL в базе несколько
>таблиц, в одной из таблиц 34 миллиона записей, объем базы 5
>Гбайт. Выполняю запрос по выборке данных из таблицы, запрос выполняется 500
>сек и более (те же самые данные в том же объеме
>на MSSQL тот же самый запрос выполняется менее 5 сек).
>На сервере Linux (Fedora 8), оперативной память 4 Гига.
>TOP показывает что MySQL использует память всего 300 Мб.
>
>Что посоветуете понастроить, для увеличения производительности?

индексы имеются?


"Оптимизация MySQL"
Отправлено Kander , 31-Мрт-09 16:00 
>индексы имеются?

Да, меняются.