mysql при работе использует только одно ядро CPU

Приветствую!

Тут такое дело: делал выборку по запросу из БД mysql и обнаружил, что на многоядрёной машине (у меня Core2Quad Q9400 @ 2.66GHz) mysql использует только одно ядро! Картинка в top при выполнении выборки такая:

top - 09:32:31 up 10:16,  5 users,  load average: 0.96, 0.52, 0.27
Tasks: 128 total,   1 running, 127 sleeping,   0 stopped,   0 zombie
Cpu0  :  1.0%us,  1.0%sy,  0.0%ni, 98.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu1  :  1.0%us,  0.7%sy,  0.0%ni, 98.4%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu2  :  0.3%us,  0.0%sy,  0.0%ni, 99.7%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu3  :100.0%us,  0.0%sy,  0.0%ni,  0.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   3368616k total,  2437828k used,   930788k free,   192372k buffers
Swap:  2008116k total,        0k used,  2008116k free,  1774100k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND 
 5550 mysql     20   0  129m  41m 3212 S  100  1.2 138:34.91 mysqld

Как полечить можно? (если это вообще возможно :-) ) Используй она все 4 ядра я бы выполнял выборку не за 30 минут а в 3 раза быстрее :)

А выборка, на сколько я

А выборка, на сколько я понял, идёт в один поток ведь?
Очень сомневаюсь, что распаралеливать один поток, вот если сам процесс выборки в 4 потока запустить.

dancingfire написал(а): А

dancingfire написал(а):
А выборка, на сколько я понял, идёт в один поток ведь?
Очень сомневаюсь, что распаралеливать один поток, вот если сам процесс выборки в 4 потока запустить.

Да, в один. А как запустить в несколько, если запрос всего один?

P.S. Эксперимент показал, что на двухпроцессорной (не двухядерной) машине поведение mysql аналогичное.

Не уверен что это возможно.

Не уверен что это возможно. но, имхо, принцип что-то вроде:
1. разбить весь массив данных на n равных частей.
2. запустить n потоков, делающих выборку и сливающих результат в итоговый массив данных.
n зависит от числа процессоров.
Но я не знаю, на сколько это возможно реализовать в рамках БД.

gcc-4.4.1 + graphite вам

gcc-4.4.1 + graphite вам поможет, чтобы было всегда, либо предыдущий оратор прав, и мускул возможно просто не распаралеливает единые запросы.

NightNord

NightNord написал(а):
gcc-4.4.1 + graphite вам поможет, чтобы было всегда, либо предыдущий оратор прав, и мускул возможно просто не распаралеливает единые запросы.

А можно познакомиться с этим Graphite? Если не затруднит, дайте ссылочку на доки (очень жеательно на русском) где можно почитать что это такое и с чем едят?

Новая фича в gcc-4.4.*. Это

Новая фича в gcc-4.4.*. Это единственная информация. Хинт: ходят слухи, что нужен ppl с флагом prolog, ебилд gcc этого вроде как не учитывает. Флаги -floop-* - смотрите в мане. Русской документации не сущетсвует (вообще забудьте про это понятие, совет такой)

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".