|
|
|
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&gotonew=1&tid=1834690]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
77ms |
get topic data: |
11ms |
get first new msg: |
6ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
| others: | 245ms |
| total: | 431ms |

| 0 / 0 |
