2015-09-22 2 views
0

Я бег запроса на моей базе данныхМассового обновления с внутренним соединением вызывает процессор высокого использование

UPDATE oc_product 
INNER JOIN mapprice on mapprice.UPC_Code = oc_product.upc 
SET oc_product.price = mapprice.MAP_Price; 

где mapprice имеет около 60k записи и состоит из двух полей и oc_product имеет более 250k

Когда я просмотреть текущие процессы mysql, которые я получаю:

Ожидание блокировки на уровне таблицы |

SELECT DISTINCT *, pd.name как имя, p.image, m.name AS производителя, (SELECT Цена от oc_product_d |.

И мое использование CPU небо ракеты

Любая помощь . с принятием этого запроса работать быстрее, было бы весьма признателен

ответ

0

Моя отладка подход будет:

  • Проверьте, есть ли триггеры mapprice, которые могут повлиять на производительность.
  • Убедитесь, что у mapprice.UPC_Code и oc_product.upc есть Индексы.
+0

theres нет триггеров, и я добавил idexes в эти столбцы, и кажется, что он все еще делает то же самое. Мне было интересно, могу ли я обновить, скажем, что 1000 записей в это время возможно? –

Смежные вопросы