天天看点

框架设计:实现数据的按需更新与插入的改进--用数据对比进一步说明

有网友表示不理解,于是这里给出一篇简单的说明对比,表示下改进后好处。

一:场景一:循环5次,同样也是重复提交的问题

框架设计:实现数据的按需更新与插入的改进--用数据对比进一步说明

            using (maction action = new maction(tablenames.blog_user))

            {

                for (int i = 0; i < 5; i++)

                {

                    action.set(users.id, 18);

                    action.set(users.username, "cyq1162");

                    action.update();

                }

                    response.write(action.debuginfo);//输出调试信息

            }

框架设计:实现数据的按需更新与插入的改进--用数据对比进一步说明

1:旧模式生成的sql:

说明:

我们很直观的看到它重复的更新了5次。

2:改进后生成的sql:

改进后,只是更新一次,其它四次并没有操作数据库。

二:场景二:模块缓存场景,其实和第一场景相似

框架设计:实现数据的按需更新与插入的改进--用数据对比进一步说明

            mdatarow userinfo=null;//模拟行数据缓存

                if (action.fill(18))

                    userinfo = action.data;

            using (maction action = new maction(userinfo))//从缓存加载

                action.set(users.username, "cyq1162");

                action.update();

                response.write(action.debuginfo);

框架设计:实现数据的按需更新与插入的改进--用数据对比进一步说明

无论存不存在缓存,更新同样被触发。

有缓存数据时,相同的数据更新,则不会再被更新。

三:结论好处

版权声明:本文原创发表于博客园,作者为路过秋天,原文链接:

http://www.cnblogs.com/cyq1162/archive/2011/04/04/2005299.html