|
|
|
не работает "DELETE FROM mytable" через "MySql Connector . Net 6.1.2 "
|
|||
|---|---|---|---|
|
#18+
Добрый день, имеется База MySql 5.1.73 которую запрашивает веб-приложение через ПХП Параллельно к этой же базе коннектируюсь я: соединяюсь через "MySql Connector . Net 6.1.2 " (вот строка соединения "server=my_Server;user id=my_user;Password=myPass;persist security info=True;database=MyDB;Pooling=False") Мой "SELECT " выполняется всегда а вот мой "DELETE FROM mytable1" иногда возвращает "fatal error" (в .Net Try Catch) Когда это случилось я проверил через "show processlist" - и вижу процесс (созданный веб приложением ПХП) запрашивающий "Select mytable1" (этот запрос должен длится менее секунды) я Повторяю "show processlist" - и вижу процесс висит дальше. Вызываю kill processID - процесс исчезает. Запускаю "DELETE FROM mytable1" через "MySql Connector . Net 6.1.2 " - и тут моя команда выполняется уже без проблем. Изменить что либо в процессе запрашивающем "Select mytable1" (веб-приложении ПХП) я не могу. Но могу менять что либо в своем запросе через "MySql Connector . Net 6.1.2 " при выполнении "DELETE FROM mytable1" . Вопрос1: как удостовериться в чем причина того что мой delete не всегда выполняется ? Вопрос2: если причина в том что процесс "Select mytable1" подвисает (или множет эксклюзивно открывает таблицу и не закрывает соединение), то как обойти это зависание без kill processid, скажем средствами"MySql Connector . Net 6.1.2 " ? Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2014, 22:25:27 |
|
||
|
не работает "DELETE FROM mytable" через "MySql Connector . Net 6.1.2 "
|
|||
|---|---|---|---|
|
#18+
student-uniMySql Connector . Net 6.1.2Безотносительно топика - а не пора ли обновиться? Почти 5 лет прошло... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2014, 23:44:58 |
|
||
|
не работает "DELETE FROM mytable" через "MySql Connector . Net 6.1.2 "
|
|||
|---|---|---|---|
|
#18+
student-uniДобрый день, имеется База MySql 5.1.73 которую запрашивает веб-приложение через ПХП Параллельно к этой же базе коннектируюсь я: соединяюсь через "MySql Connector . Net 6.1.2 " (вот строка соединения "server=my_Server;user id=my_user;Password=myPass;persist security info=True;database=MyDB;Pooling=False") Мой "SELECT " выполняется всегда а вот мой "DELETE FROM mytable1" иногда возвращает "fatal error" (в .Net Try Catch) Когда это случилось я проверил через "show processlist" - и вижу процесс (созданный веб приложением ПХП) запрашивающий "Select mytable1" (этот запрос должен длится менее секунды) я Повторяю "show processlist" - и вижу процесс висит дальше. Вызываю kill processID - процесс исчезает. Запускаю "DELETE FROM mytable1" через "MySql Connector . Net 6.1.2 " - и тут моя команда выполняется уже без проблем. Изменить что либо в процессе запрашивающем "Select mytable1" (веб-приложении ПХП) я не могу. Но могу менять что либо в своем запросе через "MySql Connector . Net 6.1.2 " при выполнении "DELETE FROM mytable1" . Вопрос1: как удостовериться в чем причина того что мой delete не всегда выполняется ? Вопрос2: если причина в том что процесс "Select mytable1" подвисает (или множет эксклюзивно открывает таблицу и не закрывает соединение), то как обойти это зависание без kill processid, скажем средствами"MySql Connector . Net 6.1.2 " ? Спасибо подозреваю таблица myisam принцип работы этого дела, что любая команда - выбор, вставка, удаление, апдейт тут же вешает лок на всю таблицу. есть приоритет операций - что приоритетней, чтение или изменение...обычно чтение по умолчанию. и того получаем, ваш делете ждёт освобождения таблицы , наступает таймаут, и валиться фатал еррор. как обойти это в конекторе - :) полагаю вопрос снят. ЗЫ висящий селект...там же не просто висит, а виден весь код селекта - точно он быстрый? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2014, 13:28:20 |
|
||
|
не работает "DELETE FROM mytable" через "MySql Connector . Net 6.1.2 "
|
|||
|---|---|---|---|
|
#18+
таблица 70 строк 50 столбцов, смех. Из пхп идет запрос который иннер джоинит ее с другой таблицей около 100 000 записей плюс аггрегатные функции конкатенации при создании значений 2-3х динамических столбцов. Но и это проходит за 2-3 секунды. Одновременно на сайте ну 5-10 человек максимум. я прочитал, что фатал приходит от коннекотра когда сервер занят другими делами и наступает таймаут. Я увеличил в коннекторе таймаут (думаю клиентскй) до часу, непомогло. Пишут что можно изменить серверный но думаю не из коннектора. Планирую уйти от delete и обновлять таблицу не полностью а только добавлять новые записи или апдейтить старые. Тока это придется на уровне с-шарпа делать по записям, ибо как обновить MySql из MS-SQL имея MS-SQL Express ума не приложу. ODBC не рекомендуют. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2014, 01:07:49 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38659986&tid=1834725]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
49ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 241ms |
| total: | 368ms |

| 0 / 0 |
