Update выполняется уже 2 дня. Как ускорить ? Хелп плиз!

tartas

Мастер
Регистрация
5 Сен 2010
Сообщения
294
Реакции
31
Ребят подскажите как быть.

Есть за запрос
Update tab1, tab2, tab3
set tab1.name= tab3.name , tab1.adres= tab3.adres , tab2.message= tab3.message
where tab1.id= tab3.id and tab2.id= tab2.sync_id and tab1.lang= ru.

таблицы размером 15 (myisam), 800 (myisam) и 650мег (innodb).

where работает либо с интежен столбиком либо с маленьким текстом до 5 знаков.
А Set вставляет большие куски текста, в несколько килобайт.

Запрос выполняется крайне долго как вы поняли.
Как можно это ускорить?? возможно буфер увеличить или еще что-то.
 
Вы проверяли на дедлоки? не такие уж большие таблицы чтобы выполнять запрос 2 дня
для ускорения думаю Вам стоит сделать explain и посмотреть что там происходит
 
Уважаемые пользователи, подскажите как быть если информация в таблицы заносится очень медленно, где то спустя 4-5 секунд и переодически подлагивает?
Использую движок InnoDB, оптимизировал вроде всё по шаблону, но скорость остаёт желать лучшего?
 
что с железом ? это серв или домашний комп ?
 
Вам стоит остановить все приложения которые используют таблицы hotels_info, hotels, allhotel

кильнуть висящие запросы кроме вашего апдейта, и дело должно двинутся
 
это есть мои запросы через которые я проверял жив ли мускул. Того они и в очереди.
а вот собсна главный запрос который четверть миллиона сек уже тенется.
 
иннодб дедлоки отдельным пунктом отображатются
LATEST DETECTED DEADLOCK

покажи
SHOW FULL PROCESSLIST

кстати.. у тебя ж там микс, иннодб + майисам, когда майисам читает то лочится на запись.. скорее всего поэтому и дедлок возникает, ты пытаешЪся читать и записать в одну и туже майисам таблицу

как вариант сделать копию табилцы, из одной читать .. в другую писать , вариант два перегнать в иннодб
 
похоже на то что таблица таки висит в READ LOCK,
 
Назад
Сверху