CYQ.Data 数据层框架

CYQ.Data 是一款由路过秋天创作的支持多数据库应用[Txt,Xml,Access,MSSQL,Oracle,SQLite,MySql]的底层数据库操作类库,使用本类库可以轻松快速开发项目(QQ群:6033006)。

CYQ.Data 数据框架 实现数据的按需更新的改进--用数据对比进一步说明

框架原理 | | | 发表日期 :2011/4/4 2:19:14#楼主  

在发布完:框架设计:实现数据的按需更新与插入的改进

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

一:场景一:循环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;//模拟行数据缓存
            using (MAction action = new MAction(TableNames.Blog_User))
            {
                if (action.Fill(18))
                {
                    userInfo = action.Data;
                }
            }
            using (MAction action = new MAction(userInfo))//从缓存加载
            {
                action.Set(Users.UserName, "cyq1162");
                action.Update();
                Response.Write(action.DebugInfo);
            }

1:旧模式生成的SQL:

说明:

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

2:改进后生成的SQL:

说明:

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

三:结论好处

实质性的减少数据库操作,从数据框架底层有效的防止无效的点击事件。



新浪微博粉丝精灵,刷粉丝、刷评论、刷转发、企业商家微博营销必备工具"

发表评论

论坛公告

    数据框架 CYQ.Data QQ群:6033006
    使用本框架进行开发,入门简单,开发效率高,性能优越,更有详尽的API文档,有相关的使用帮助文章、示例文章、更甚有相关的视频教程及辅助工具。 关键还是免费与开源,实在是居家旅行、项目开发、学习研究的必备良品!!!!!!


    在线帮助:欢迎联系

帖子搜索