有什么办法获得SQL语句引用的所有数据库对象?
本帖最后由 linustd 于 2014-07-01 07:43 编辑我想搞一个在数据库和应用程序之间的缓存中间件。
每次应用程序传过一个(或者几个)SQL语句过来,中间件就取得这个SQL所用到的所有对象(表、存储过程、视图)等,如果发现引用的所有对象都没有修改过,就直接返回缓存中的结果。
这里有一个难题,如何取得SQL语句设计到的对象,以及如何判断一个对象(表,存储过程,视图等)是否已经修改过。
理论上来说,这两个需求对数据库来说,是一个简单的任务,但是有可能绝大数数据库没有提供这个功能,因为以前没人有这个需求。 如何取得SQL语句设计到的对象
这个对于写代码来说应该就只是一个字符串处理的问题了吧。
其它的高级功能没接触过,楼主加油啊。 回复 1# linustd
你这个功能不就是 query cache 吗? digdeep126 发表于 2014-07-01 10:48 static/image/common/back.gif
回复 1# linustd
就是类似query cache, 但是一般数据库自己的query cache都是内置在数据库里面,应该把这个功能提取出来,数据库只负责数据安全功能。
另外数据库应该还提供一个重要的对象改变通知能共。 有啊,memcache,redis都能实现 如果有写请求,同是主动删除缓存 mysql有执行计划表么?对象都在那里面 回复 7# bobo2
怎么查询出来?
做到外面,想看看有没有修改过,必然要和数据库再通信一次,每条都这样,代价是不是高了点? dump时不是能导出所有的语句吗?
页:
[1]