Если висит sql то сайты сразу валятся

Samael
Posts: 295
Joined: Tue Dec 11, 2012 3:05 pm

Re: Если висит sql то сайты сразу валятся

Post by Samael »

Опять виснет база, админ пишет

Были зависшие процессы вида:

4680072 samael_xxx localhost samael_xxx Query 4835 Copying to tmp table select id, rgroup from rot_galleries where id not in (select distinct(gal_id) from rot_gal2group)

4680399 samael_xxx localhost samael_xxx Query 4477 Waiting for table metadata lock LOCK TABLES rot_galleries WRITE, rot_gallery_data WRITE, rot_gallery_info WRITE

Удалил, теперь работает.


(c) SmartCJ Pro V 1.51 Build 201312181216
admin
Site Admin
Posts: 38004
Joined: Wed Sep 10, 2008 11:43 am

Re: Если висит sql то сайты сразу валятся

Post by admin »

Так это тот же запрос что и был. Mysql админ не апгрейдил ?
Don't forget to run script update
Samael
Posts: 295
Joined: Tue Dec 11, 2012 3:05 pm

Re: Если висит sql то сайты сразу валятся

Post by Samael »

mysql> select version();
+-----------+
| version() |
+-----------+
| 5.5.35 |
+-----------+
admin
Site Admin
Posts: 38004
Joined: Wed Sep 10, 2008 11:43 am

Re: Если висит sql то сайты сразу валятся

Post by admin »

ok, что говорит

explain select id, rgroup from rot_galleries where id not in (select distinct(gal_id) from rot_gal2group)


?
Don't forget to run script update
Samael
Posts: 295
Joined: Tue Dec 11, 2012 3:05 pm

Re: Если висит sql то сайты сразу валятся

Post by Samael »

mysql> explain select id, rgroup from rot_galleries where id not in (select distinct(gal_id) from rot_gal2group);
+----+--------------------+---------------+-------+---------------+---------+---------+------+--------+-------------------------------------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+--------------------+---------------+-------+---------------+---------+---------+------+--------+-------------------------------------------+
| 1 | PRIMARY | rot_galleries | index | NULL | rgroup | 4 | NULL | 312997 | Using where; Using index |
| 2 | DEPENDENT SUBQUERY | rot_gal2group | index | NULL | PRIMARY | 8 | NULL | 368348 | Using where; Using index; Using temporary |
+----+--------------------+---------------+-------+---------------+---------+---------+------+--------+-------------------------------------------+
2 rows in set (0.02 sec)
admin
Site Admin
Posts: 38004
Joined: Wed Sep 10, 2008 11:43 am

Re: Если висит sql то сайты сразу валятся

Post by admin »

Это весьма странно.
А какие индексы есть в rot_gal2group ?
Don't forget to run script update
Samael
Posts: 295
Joined: Tue Dec 11, 2012 3:05 pm

Re: Если висит sql то сайты сразу валятся

Post by Samael »

а где это смотреть или какой командой?
Image
admin
Site Admin
Posts: 38004
Joined: Wed Sep 10, 2008 11:43 am

Re: Если висит sql то сайты сразу валятся

Post by admin »

А они прямо тут и видны на стрине.

Думаю кто-то баловался с индексами и теперь они не в том порядке.
В дефолтном варинате они (gal_id, group_id) и тут они (group_id, gal_id)

Для простоты можете создать индекс на gal_id просто и должно стать все ок.
Для проверки покажите потом тот же explain.
Don't forget to run script update
Samael
Posts: 295
Joined: Tue Dec 11, 2012 3:05 pm

Re: Если висит sql то сайты сразу валятся

Post by Samael »

Можете подсказать как именно это сделать? (создать индекс на gal_id).
admin
Site Admin
Posts: 38004
Joined: Wed Sep 10, 2008 11:43 am

Re: Если висит sql то сайты сразу валятся

Post by admin »

ALTER TABLE `rot_gal2group` ADD INDEX ( `gal_id` )
Don't forget to run script update
Post Reply