|
|
|
MySQL Locks
|
|||
|---|---|---|---|
|
#18+
доброй времени суток всем. прощу помощи ) есть 2 процедуры 1 работает постоянно и меняет некоторые данные в таблице клиентов 2-й только рассчитывает данные Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. вот когда этот процедура врубается 1-я процедура останавливается сам tmp_GROUPS в первом процедуре не использую. я не понимаю как создание временной таблицы может воздействовать на другие таблицы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2014, 15:31:16 |
|
||
|
MySQL Locks
|
|||
|---|---|---|---|
|
#18+
ENGINE=MyISAM ; меняй на ENGINE=innodb ; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2014, 00:02:24 |
|
||
|
MySQL Locks
|
|||
|---|---|---|---|
|
#18+
Moniak, дело в том, что долгий запрос с select автоматически накладывает блокировку чтения на таблицы CLIENTS. Обновлять их в это время нельзя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2014, 00:20:13 |
|
||
|
MySQL Locks
|
|||
|---|---|---|---|
|
#18+
MasterZivENGINE=MyISAM ; меняй на ENGINE=innodb ; пробовал не помогает ((( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2014, 11:12:32 |
|
||
|
MySQL Locks
|
|||
|---|---|---|---|
|
#18+
netwindMoniak, дело в том, что долгий запрос с select автоматически накладывает блокировку чтения на таблицы CLIENTS. Обновлять их в это время нельзя. если я navicat-ом делаю тоже самый запрос select g.GROUPS_ID as 'GROUPS_ID', count(distinct t.EMAIL) as 'MAIL_COUNT' ,count( distinct t.PHONE) as 'SMS_COUNT' from CLIENT t inner join GROUPS_CLIENTS tt on tt.CLIENT_ID = t.CLIENT_ID inner join GROUPS g on g.GROUPS_ID=tt.GROUPS_ID group by g.GROUPS_ID; то вторая процедура не останавливается. я даже не знаю где капать и как все это осуществит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2014, 11:18:58 |
|
||
|
MySQL Locks
|
|||
|---|---|---|---|
|
#18+
Moniakдоброй времени суток всем. прощу помощи ) есть 2 процедуры 1 работает постоянно и меняет некоторые данные в таблице клиентов 2-й только рассчитывает данные Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. вот когда этот процедура врубается 1-я процедура останавливается сам tmp_GROUPS в первом процедуре не использую. я не понимаю как создание временной таблицы может воздействовать на другие таблицы? кстати говоря. inner join GROUPS g on g.GROUPS_ID=tt.GROUPS_ID это зачем??? если используеться только поле g.GROUPS_ID равное tt.GROUPS_ID ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2014, 11:59:44 |
|
||
|
MySQL Locks
|
|||
|---|---|---|---|
|
#18+
MoniaknetwindMoniak, дело в том, что долгий запрос с select автоматически накладывает блокировку чтения на таблицы CLIENTS. Обновлять их в это время нельзя. если я navicat-ом делаю тоже самый запрос но немного другой запрос. поэтому еще одно предположение : нагрузка от создания временной таблицы такова, что ресурсов на выполнение другого запроса не хватает и вам кажется, что все висит. хотя на самом деле оно просто медленно работает. то вторая процедура не останавливается. я даже не знаю где капать и как все это осуществит Для начала сделать еще одно подключение и выполнить show full processlist в тот момент когда все висит. В словарик тоже можно "покапать". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2014, 12:55:44 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38666989&tid=1834690]: |
0ms |
get settings: |
5ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
47ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
25ms |
get tp. blocked users: |
1ms |
| others: | 187ms |
| total: | 284ms |

| 0 / 0 |
