2012-02-08 2 views
2

Недавно мы обновили mysql до версии 5.5.17 frm 5.1. При этом многие из запросов, которые отлично поработали в 5.1, сильно снизились. Я начал обновлять запросы, но есть только что-то, что нужно обновить. Мне было интересно, если кто-то здесь уже прошел через это и имеет лучшую идею.MySQL 5.5 Перфоманс

Большое спасибо!

edit1: В качестве примера я понял, что запросы, соединяющие две таблицы и имеющие критерии, использующие contant, были действительно медленными в 5.5 по сравнению с 5.1. При добавлении постоянного значения в одну из таблиц и использование его оттуда в объединении помогло. Таким образом, в запросах ниже, второй был намного быстрее, чем первый.

select t1.* 
from t1, t2 
where t1.field1 = t2.field1 
and t1.field2 = 100; 

"id" "select_type" "table" "type" "possible_keys" "key" "key_len" "ref" "rows" "Extra" 
"1" "SIMPLE" "t1" "ALL" "PRIMARY" \N \N \N "1" "Using where" 
"1" "SIMPLE" "t2" "eq_ref" "PRIMARY" "PRIMARY" "152" "t1.field1" "1" "Using index" 

select t1.* 
from t1, t2 
where t1.field1 = t2.field1 
and t1.field2 = t2.field2; -- i added a col field2 in t2 with value = 100 

"id" "select_type" "table" "type" "possible_keys" "key" "key_len" "ref" "rows" "Extra" 
"1" "SIMPLE" "t1" "ALL" "PRIMARY" \N \N \N "1" "" 
"1" "SIMPLE" "t2" "eq_ref" "PRIMARY" "PRIMARY" "152" "t1.field1" "1" "Using where" 
+0

Было бы полезно, если бы вы могли отправлять примерные запросы и вывод 'EXPLAIN'. – Charles

ответ

4

Бывают случаи, когда MySQL 5.1 может превзойти MySQL 5.5 при определенных обстоятельствах.

Percona performed a bake-off among multiple releases of MySQL

  • MySQL 4.1
  • MySQL 5.0
  • MySQL 5.1 (со встроенным InnoDB)
  • MySQL 5.1 с InnoDB-плагин
  • MySQL 5.5
  • MySQL 5.6

Все тесты выполнялись с MySQL unconfigured (другими словами, my.cnf не был создан). Результаты?

  • MySQL 4,1 выполняет лучший однопоточных
  • MySQL 5.1 с InnoDB вставных чешуи на нескольких ядрах лучше, чем 5,1 встроенный в InnoDB, 5.5 и 5.6

Если вы хотите более новые версии MySQL для работы лучше, вы должны настроиться на это. Фактически, I described in the DBA StackExchange the idea of performing a MySQL Bakeoff.

Что я хочу сказать о мелодии?

В MySQL 5.5, there are new InnoDB options for utilizing more dedicated read threads, write threads, and overall I/O capacity. Это может привлечь больше процессоров на многоядерных серверах. Оставленный unconfigured, MySQL 5.5 будет работать на одинаковом игровом поле, в большинстве случаев, как более старые версии MySQL. Иногда это может быть хуже.

+0

Спасибо @RoalndoMySQLDBA за ваш ответ. Информация, которую вы предоставили, - это много для того, чтобы переварить меня, поэтому потребуется некоторое время, чтобы пройти через нее и понять ее. – Rinks

+0

Спасибо @Charles за ваш ответ. Я объяснил свое оригинальное сообщение с примером и результатами для объяснения. – Rinks

+0

Я не думаю, что это правильно. Тесты выполнялись с * настроенным * MySQL. Неконфигурированные тесты MySQL не предоставили бы никакой полезной информации, даже не одну анонимную точку данных. –

0

К сожалению, некоторая базовая файловая система также влияет на скорость mysql. В моих измерениях ту же самую версию mysql намного быстрее с файловой системой ext3, чем с ext4.

Протестировано на CentOS.

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