背景
前文我们在 MySQL 中加入了 HTTP 请求的功能,在 MySQL 中映射的函数名叫做 http_get。
问题
在之后的编程中,可能因为种种问题,导致在触发器中调用的这个函数执行超时了,这就会给数据库带来非常致命的问题,比如数据一致性、比如数据库性能等等
解决方案
调研到数据库引擎会提供一个设置SQL语句执行超时时间的接口,如果语句的执行超过了这个时间,则会终止掉当前语句的执行。
代码
select /*+ max_execution_time(3000)*/ count(*) from t1 where status=0;
参考资料:
- mysql 限制sql执行时间
- mysql语句执行超时设置
- http://blog.itpub.net/25834554/viewspace-1054672/
- http://blog.itpub.net/26736162/viewspace-2148878/
- http://blog.itpub.net/29773961/viewspace-2057752/
- How can I change the default Mysql connection timeout when connecting through python?
- How to set a timeout for MySQL query using C API