我们面临巨大的挑战:由于记录庞大,应用程序太慢了:(
我们在网络应用程序中寻找最佳数据访问模式(asp.net mvc 3)
大数据(sql server视图超过 6600万条记录。)
客户拥有包含搜索字段的表单,并会在网页网格中看到结果。
从现在开始 我们使用了这两种数据访问方式:
1- 具有某些功能的实体框架,如已编译的查询
--get result
GridModelsResult = VwLoanInquiryList.Skip(pageIndex * pageSize).Take(pageSize).ToList();
--get count
int totalPages = (int)Math.Ceiling((float)totalRecords / (float)pageSize);
分页的2-sql server store程序,只获取当前页面结果
--get result
select t1.* into #t from
(select *
FROM VwLoanInquiry
where CustomerNumber like '%'+@CustomerNumber+'%'
) AS [t1]
WHERE (@PageIndex=-1 or (t1.ID BETWEEN (@PageIndex-1)* @RecordPerPage AND ((@PageIndex)* @RecordPerPage)-1))
--get count
select count(*) from #t
3- OLAP;我们在分析服务(SSAS)中制作了多维数据集
但是我们的问题是在多维数据集单元格中显示字符串列类型的记录(无法为度量定义非数字字段)
另外,
为了更快地获得结果,我们的视图已经设置了列的索引和数据类型。
请帮助我们了解这些方法中的哪一种更好,或者是否有其他方式是什么?
感谢