利用MySql中的记录变化触发程序的方法?

问题描述

需求是这样的:mysql中的数据变化触发基于C#编写的程序。目前使用的方法是:在C#中开辟一条新线程,循环观测mysql的数据,但是这种方法十分消耗资源,严重影响了主线程的运行效率。是否有什么别的方法解决这一问题?我有三个思路,一是将mysql绑定到WPF界面上的控件,例如textbox,然后观测textbox的textchanged事件,问题是,控件与数据库绑定后,不会随着数据库的数据变化而变化。大神们能给出解决方案么?例如别的控件?还是修改绑定方法?二是通过别的编程语言?利用C++开辟新的线程占用的资源会不会少点?然后在做成DLL放到C#中调用?三是想办法降低轮询的占用资源数量?降低优先级?sleep一段时间?求大神们给出好一点的方法啊···

解决方案

解决方案二:
MYSQL木有这功能。
解决方案三:
那怎么办呢?难道要换数据库···
解决方案四:
大神们想想办法啊···
解决方案五:
不要沉··,自己顶

时间: 2024-09-08 18:03:43

利用MySql中的记录变化触发程序的方法?的相关文章

关于mysql中字段的数据类型和程序中变量的数据类型的匹配问题

问题描述 我想知道完整的mysql中字段的数据类型对应程序中变量的数据类型的完整版,比如:mysql中varchar数据类型对应程序中String类型变量. 解决方案 解决方案二:我觉得你还是把mysql的类型列出来!!这样才能给你完整的匹配!!intIntegerlongLongdatetimeTimestamp长的小数点Decimal等等

MySQL中使用Sphinx实现多线程搜索的方法

  这篇文章主要介绍了在MySQL中使用Sphinx实现多线程搜索的方法,修改Sphinx的搜索引擎配置即可,需要的朋友可以参考下 MySQL.Sphinx及许多数据库和搜索引擎中的查询是单线程的.比如说,在一台32个CPU核心.16个磁盘的R910服务器上执行一个查询,它最多只会用到一个核心和一个磁盘.没错,只会使用一个. 如果查询是CPU密集型作业,那么会使用大约3%的整机CPU能力(以上述32核机器为例).如果是磁盘密集型,则大约会使用6%的整机IO能力(也是与上例同样的配置,16个磁盘组

Android Activity中启动另一应用程序的方法,无需得到类名

  Android Activity中启动另一应用程序的方法,无需得到类名    在网上搜索了一会相关的实现代码,发现所有的文章都说是需要包名和类名.但是人家的程序,我们怎么可能知道哪个是第一个启动的Activity?所以,真正用在项目上,那种方法基本上没什么用的.于是查看官方文档,发现这样一个方法:  Java代码   public abstract Intent getLaunchIntentForPackage (String packageName)   英文原文:Return a "g

mysql中判断记录是否存在方法比较_Mysql

我这里总结了判断记录是否存在的常用方法: sql语句:select count(*) from tablename; 然后读取count(*)的值判断记录是否存在.对于这种方法性能上有些浪费,我们只是想判断记录记录是否存在,没有必要全部都查出来. 以下这个方法是我推荐的. sql语句:select 1 from tablename where col = col limit 1; 然后读取语句执行所影响的行数. 当然这里limit 1很重要.这要mysql找到一条记录后就不会在往下找了.这里执行

mysql中Table is read only的解决方法小结_Mysql

如果是使用中的数据库突然出现些类问题 在Linux下面执行下面命令就可以了,当然你要找到你的mysql目录 linux中 复制代码 代码如下: /usr/local/mysql/bin/mysqladmin -u root -p flush-tables windows中 可以在cmd中执行lush-tables 也可以在phpmyadmin 直利用修复表进行修改 如果是导入还原数据 ,所以将该数据库文件夹下面所有表文件chmod成777,chown成"_mysql",但这次问题更严重

Mysql中分页查询的两个解决方法比较_php实例

mysql中分页查询有两种方式, 一种是使用COUNT(*)的方式,具体代码如下 复制代码 代码如下: SELECT COUNT(*) FROM foo WHERE b = 1; SELECT a FROM foo WHERE b = 1 LIMIT 100,10; 另外一种是使用SQL_CALC_FOUND_ROWS 复制代码 代码如下: SELECT SQL_CALC_FOUND_ROWS a FROM foo WHERE b = 1 LIMIT 100, 10; SELECT FOUND_

mysql中insert与select的嵌套使用方法_Mysql

本文讲述了mysql中insert与select的嵌套使用的方法,对于初学MySQL的朋友有一定的借鉴价值. 这里需要实现在mysql从多个表中组合字段然后插入到一个新表中,通过一条sql语句实现该功能需求.具体情形是:有三张表a.b.c,现在需要从表b和表c中分别查几个字段的值插入到表a中对应的字段.对于这种情况,我们可以使用如下的语句来实现: INSERT INTO db1_name(field1,field2) SELECT field1,field2 FROM db2_name 当然,上

MYSQL中无重复插入更新几种方法

第一种解决方案: 如果你指定了ON DUPLICATE KEY UPDATE命令语句,那么在唯一索引或者主索引的作用下将不插入与数据库记录重复的内容,但同时会更新数据库中的旧记录.例如,字段a被声明为唯一索引并且里面只包含有值为1的记录,以下两个语句会达到同样的效果:  代码如下 复制代码 一.INSERT INTO table (a,b,c) VALUES (1,2,3)        ON DUPLICATE KEY UPDATE c=c+1;     二.UPDATE table SET

MySQL中随机生成固定长度字符串的方法_Mysql

要随机生成字符串代码如下: 在MySQL中定义一个随机串的方法,然后再SQL语句中调用此方法. 随机串函数定义方法: 复制代码 代码如下: CREATE DEFINER=`root`@`localhost` FUNCTION `rand_string`(n INT) RETURNS varchar(255) CHARSET latin1 BEGIN DECLARE chars_str varchar(100) DEFAULT 'abcdefghijklmnopqrstuvwxyzABCDEFGH