- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ORM组件XCode(撬动千万级数据)
ORM组件XCode(撬动千万级数据)
有了前面的《动手》,基本上可以进行开发了。本篇我们来试试XCode的基本功功力如何,测试在单表一千万业务数据的环境下查询的速度,添删改等没什么可测试的。其实应该说是XCode开发模式的功力,XCode组件仅仅是处理分页而已,而XCode开发模式为高性能开发提供了更多的建议。
测试环境:双核CPU,4G内存,win7+SQL2008+vs2010
数据表字段包括:自增ID、车牌、时间。使用SQL准备一千万测试数据,花了将近一个小时。
测试用例:ID的升序降序,时间的升序降序,每一种情况测试取首页、中间页、尾页的时间。
XCode开发模式非常看重分页,基本上所有集合查询方法都带有分页参数。Entity层只负责生成获取满足条件的所有数据的SQL,加上分页参数后传递给下层数据访问层,自身不处理问题。数据访问层调用IDatabase接口的PageSplit方法,把上述的SQL处理为只获取指定页的SQL,然后再执行查询操作。因为不同的数据库分页方法不同,所以XCode的这种架构让使用者无需关心采用哪一种分页方法。测试环境是SQL2008,所以自动采用row_number分页。
首先建立数据表
CREATE TABLE [dbo].[test](
[ID] [int] IDENTITY(1,1) NOT NULL,
[HPHM] [varchar](50) NULL,
[JGSJ] [datetime] NOT NULL,
CONSTRAINT [PK_CLTXJL] PRIMARY KEY CLUSTERED
(
[ID] DESC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
使用SQL语句插入一千万行数据
declare @i int
set @i=0
while @i100
begin
insert into test values(鄂A94450,getdate())
insert into test values(鄂A92355,getdate())
(这里是更多数据插入语句)
set @i=@i+1
end
GO
再看看我们准备的测试代码
static void Test2()
{
Stopwatch sw = new Stopwatch();
sw.Start();
Console.WriteLine();
DAL.AddConnStr(Center, Data Source=.;Initial Catalog=Center;User ID=sa;Password=Pass@word, null, sql2008);
IEntityOperate factory = DAL.Create(Center).CreateOperate(test);
sw.Stop();
Console.WriteLine(初始化:{0}, sw.Elapsed);
ICollection list = factory.FindAll(null, null, null, 100000, 1);
DateTime dt = DateTime.Now;
foreach (IEntity item in list)
{
dt = (DateTime)item[JGSJ];
break;
}
//String where = String.Format({0}={1} And {0}{2}, JGSJ, dt, dt.AddSeconds(100));
String where = String.Empty;
sw.Reset();
sw.Start();
Console.WriteLine();
Int32 count = factory.FindCount(where, null, null, 0, 0);
sw.Stop();
Console.WriteLine(查询总记录数:{0}, sw.Elapsed);
Console.WriteLine(总记录数:{0}, count);
Test2_0(sw, 默认顺序, count, where, null);
Test2_0(sw, 时间升序, count, where, JGSJ
您可能关注的文档
- 概率论第三章第四节.ppt
- 数据结构第五章课后答案.pdf
- 高边坡和隧道应急预案.doc
- 风电电缆.pdf
- SOA在企业信息中的应用.doc
- 代词巩固练习(第一讲).doc
- 2002华中科技大学研究生考试专业课电子技术基础.pdf
- 2.2 代数式(第一课时).ppt
- 月考测试1.doc
- 迅驰电脑维修培训教材.ppt
- XX T 1149.11-2010 内燃机 活塞环 第11部分:楔形铸铁环正式版.doc
- XX T 1149.13-2008 内燃机 活塞环 第13部分:油环正式版.doc
- XX T 1149.12-2013 活塞环楔形钢环正式版.doc
- 人教版高中生物必修2全册教学课件.pptx
- 2025年春新北师大版8年级物理下册全册课件.pptx
- 2024年新人教版8年级上册物理全册课件.pptx
- (新统编版)语文三年级下册 第一单元 大单元教学 课件(共9课时).pptx
- 八年级语文下册第六单元24醉翁亭记课件省公开课一等奖新课获奖课件.pptx
- 八年级物理上册第六章质量与密度章末整理与复习习题省公开课一等奖新课获奖课件.pptx
- 外研版三年级英语下册期末复习单词专项.pptx
最近下载
- 附件2-钢轨焊缝超声波探伤工艺规程(20171201).doc VIP
- 长沙理工大学2023-2024学年第1学期《高等数学(上)》期末考试试卷(A卷)附参考答案.pdf
- 制片管理PPT课件.pptx VIP
- 浅谈护士依法执业课件.pptx VIP
- 《航空与航天摄影》第1章绪论.pptx
- 招标参数实时荧光定量PCR仪比较表.xls VIP
- 期末复习之阅读理解20篇(福建名校真题)-2023-2024学年八年级英语下学期期末复习查缺补漏冲刺满分(仁爱版).docx VIP
- 肾小球疾病。(必威体育精装版文档).pptx VIP
- 部编人教版五年级下册心理健康教案(全册).pdf
- 仁爱版初中英语八年级下册(英语单词表).pdf VIP
文档评论(0)