Наблюдение за таблицей MySQL в VB.net
Я разрабатываю целую кучу приложений (которые работают в сети) и подключаюсь к общей базе данных MySQL.
Из этих приложений большинство из них включают в себя ожидание, пока стол будет готов.
1. Есть новая строка
2. Измените поле
3. Извлечение строк по условию поля
Моим первым побуждением было создать поток, используя систему.Нарезание резьбы.Нить(Адрес X)
а затем имейте в то время как истинный цикл внутри, который продолжает запрашивать таблицу, а затем спит в течение небольшого количества времени (около 250-1000 МС)
Проблема в том, что приложения вызывают скачок загрузки процессора моей системы до 100% (имейте в виду, я использую четырехъядерный процессор, 4 ГБ оперативной памяти) и использование памяти тоже достигает 100%!
Обычно не имеет значения, сколько приложений запущено из системы.
Поэтому я подумал, что, возможно, резьба-это не ответ. Это из-за постоянных запросов?
Может ли кто-нибудь опытный в наблюдении за БД, пожалуйста, помочь мне?
У меня уже есть потоковые приложения. Большинство из них таковы:
1. MainUI.frm будет иметь класс
TableWatcherX
2.
TableWatcherXбудет иметь метод Start() и a
private workingThread as Thread
3. в методе Start() я ставлю
workingThread = new Thread(AddressOf KeepWorking) workingThread.Start()
4. В методе KeepWorking()
While True Using ATable as <datasettable> = <datasetadapter>.getData For each of the rows, process and do stuff... End Using End While</datasetadapter></datasettable>
Очевидно, что-то не так, так как моя память и процессор полностью заблокированы!
Есть какие-нибудь мысли?