Мы недавно обновили 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"