Mysql C# - многопоток

wizard

Client
Регистрация
04.10.2011
Сообщения
1 003
Благодарностей
632
Баллы
113
Здравствуйте,
вот тут есть C# код для работы с бд - установил = все ок
Но если мне нужно постоянно обращаться в базу 2-3 раза в минуту умножаем на 15-20 потоков =
получается один запрос в 2 сек.

Собственно вопрос : Не страшно что в C# коде соединение каждый раз закрывается? возможно ли не закрывать соединение с базой а работать с ней по одному конекту ?
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 270
Благодарностей
9 054
Баллы
113
никогда не работал с БД, но мне кажется, что если не закрывать, то тогда изменения для других потоков станут не доступны..
интересен правильный ответ на этот вопрос..
интересная тема..
 

darkdiver

Administrator
Команда форума
Регистрация
13.01.2009
Сообщения
2 285
Благодарностей
2 730
Баллы
113
сервер mysql как бы рассчитан на много подключений, просто настроить его надо на большое количество подключений.
получается один запрос в 2 сек.
это не нагрузка, вот 100 в секунду, уже нагрузка ))
никогда не работал с БД, но мне кажется, что если не закрывать, то тогда изменения для других потоков станут не доступны..
блокировки чтения и записи из базы данных не зависят от подключений, а зависят от текущих выполняющихся запросов.
Но если мне нужно постоянно обращаться в базу 2-3 раза в минуту умножаем на 15-20 потоков =
можно продумать логику проекта, чтобы сначала код выгребал все данные которые нужны, а потом записывал, в результате, подключение будет не так часто дергаться.
 

wizard

Client
Регистрация
04.10.2011
Сообщения
1 003
Благодарностей
632
Баллы
113
это не нагрузка, вот 100 в секунду, уже нагрузка ))
то есть конект\дисконект раз в 2 сек. - это нормальная реализация и можно не заморачиваться ? я правильно понял ?
 

wizard

Client
Регистрация
04.10.2011
Сообщения
1 003
Благодарностей
632
Баллы
113

bigcajones

Client
Регистрация
09.02.2011
Сообщения
1 216
Благодарностей
683
Баллы
113
I'm using MySQL works all the time 60 threads without problems. You need to open a connection, add data to Zenno table, and then close the connection.

Nice cat avatar DD.
 

wizard

Client
Регистрация
04.10.2011
Сообщения
1 003
Благодарностей
632
Баллы
113
I'm using MySQL works all the time 60 threads without problems. You need to open a connection, add data to Zenno table, and then close the connection.
мне нужно - постоянно записывать \считывать актуальные данные в бд
 

darkdiver

Administrator
Команда форума
Регистрация
13.01.2009
Сообщения
2 285
Благодарностей
2 730
Баллы
113
то есть конект\дисконект раз в 2 сек. - это нормальная реализация и можно не заморачиваться ? я правильно понял ?
да правильно.
нет, что то не так http://prntscr.com/41kpkd - каждый 6 запрос - с ошибкой
MySQL локально работает?
Настраивайте, чтоб одновременно много подключений тянул

например вот эти настройки смотрите
Код:
[mysqld]
max_connections = 1000
max_user_connections = 1000
читайте в логах, что ему не хватает и увеличивайте эти настройки.
 

Lexicon

Client
Регистрация
27.12.2012
Сообщения
1 775
Благодарностей
901
Баллы
113
у вас обновляются данные в таблице, или дописываются? может быть такое что все 60 проектов работают с одной строкой?
 

wizard

Client
Регистрация
04.10.2011
Сообщения
1 003
Благодарностей
632
Баллы
113
Спасибо, настройки поправил = все ок.

Пытаюсь дальше подстроить код под себя - подскажите, плиз, как получить программно - имена всех столбцов таблицы ??
 

darkdiver

Administrator
Команда форума
Регистрация
13.01.2009
Сообщения
2 285
Благодарностей
2 730
Баллы
113
Код:
select * from information_schema.columns where table_schema = 'your_db' and table_name = 'your_table'
 
Последнее редактирование:

wizard

Client
Регистрация
04.10.2011
Сообщения
1 003
Благодарностей
632
Баллы
113

darkdiver

Administrator
Команда форума
Регистрация
13.01.2009
Сообщения
2 285
Благодарностей
2 730
Баллы
113

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)