Производительность MySQL 5.5 - PullRequest
       1

Производительность MySQL 5.5

2 голосов
/ 09 февраля 2012

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

edit1: В качестве примера, я понял, что запросы, объединяющие две таблицы и имеющие критерии где с использованием константы, были очень медленными в 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"

Ответы [ 2 ]

4 голосов
/ 09 февраля 2012

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

Percona выполнила проверку среди нескольких выпусков MySQL

  • MySQL 4.1
  • MySQL 5.0
  • MySQL 5.1 (со встроенным InnoDB)
  • MySQL 5.1 с подключаемым модулем InnoDB
  • MySQL 5.5
  • MySQL 5.6

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

  • MySQL 4.1 демонстрирует лучшие однопоточные
  • MySQL 5.1 с масштабируемыми подключаемыми модулями InnoDB на несколько ядер лучше, чем встроенные InnoDB 5.1, 5.5 и 5.6

Если вы хотите, чтобы более новые версии MySQL работали лучше, вы должны настроить его.Фактически, Я описал в DBA StackExchange идею выполнения MySQL Bakeoff .

Что я имею в виду для настройки?

В MySQL 5.5 появились новые опции InnoDB для использования более выделенных потоков чтения, потоков записи и общей емкости ввода / вывода .Это может задействовать больше процессоров в многоядерных серверах. Оставленный ненастроенным , MySQL 5.5 будет работать на том же уровне игрового поля, в большинстве случаев, что и более старые версии MySQL.Иногда это может работать хуже.

0 голосов
/ 25 июня 2014

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

Проверено на CentOS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...