上一页 1 ··· 271 272 273 274 275 276 277 278 279 ··· 385 下一页
摘要: 回到目录 当表的数据量达到百万千万时,再对表进行索引添加时,使用菜单方式将被告诉“超时”,这时,我们需要在代码模式完成索引的添加工作,当然我们不需要手动与代码,只要把菜单中生成的SQL代码复制一下就可以了。说在前为什么要为大数据加索引,一个最重要的原因就是为了提高查询性能,或者说,数据量达到百万千万... 阅读全文
posted @ 2013-09-05 13:55 张占岭 阅读(8626) 评论(0) 推荐(0)
摘要: 感觉微软在面向对象三大原则中,封装性运用的最为突出,它会将一些复杂的算法,结构,功能代码进行封装,让程序员在使用时十分得心应手,如关键字里的foreach和labmda表达式里的Foreach等等,今天我也来写一个集合遍历器得了,呵呵。小知识:你的集合如果是List,那么它里面的N多方法都是可以拿来就用的,今天的遍历功能,使用List里的GetEnumerator()方法实现,它返回的其实是一个Enumerator结果体,这个枚举器的结构体如下: [Serializable] public struct Enumerator : IEnumerator, IDispos... 阅读全文
posted @ 2013-09-03 17:30 张占岭 阅读(1204) 评论(4) 推荐(1)
摘要: 回到目录在编程世界里,使用“否定式”不是一件好事,因为它的可读性并不高,但有时,为了让使用者减少代码量,还是使用了双重否定,直到DefaultValue的出现,它改变了这一切,它可以为你的属性设置你想要的默认值,如bool类型默认值是false,而如果你希望它的默认值是true,就需要用到DefaultValue这个特性了。这是我IUnitOfWork代码片断 /// /// 工作单元 /// 提供一个保存方法,它可以对调用层公开,为了减少连库次数 /// public interface IUnitOfWork { /// ... 阅读全文
posted @ 2013-08-26 16:53 张占岭 阅读(3510) 评论(4) 推荐(2)
摘要: 回到目录对于大数据量提交,包括插入,更新和删除,我始终不建议用EF自带的方法,因为它会增加与数据库的交互次数,一般地,EF的一个上下文在提交时会打开一个数据连接,然后把转换成的SQL语句一条一条的发到数据库端,然后去提交,试想,如果你的数据量达到万级别(更不用说百万,千万数据了),那对数据库的压力是很大的,所以,我将EF批量操作语句进行了改版,并起名为BulkInsert,BulkUpdate和BulkDelete,事实上,在我之前的版本中并没有涉及到批次提交的概念,直到遇到了实际的问题,当你使用BulkInsert时,如果数据达到4万之前,那在SQL的解释时,也是很有压力的,有多情况下会超时 阅读全文
posted @ 2013-08-24 08:20 张占岭 阅读(5956) 评论(3) 推荐(3)
摘要: 事情是这样的,有一个列表,里面有很多用户信息,可能会有重复的用户,将这个列表的用户插入到数据表中,如果用户已经存在,就更新这个用户的FillTimes 字段,让它加1,使用的底层ORM是entity frameworks4。这是方法的大概内容 var user_Account = iC_User_Account.Find(i => i.UserID == u.UserID); if (user_Account == null) { iRepository.Insert(new C_User_Acco... 阅读全文
posted @ 2013-08-19 14:27 张占岭 阅读(7084) 评论(2) 推荐(0)
上一页 1 ··· 271 272 273 274 275 276 277 278 279 ··· 385 下一页