业务需求如下
找出某个月的订单 接近30万条记录
从中随机抽取1%条我现在是把该月的订单保存到DataTable中
然后把DataTable保存ViewState1中-----为了在条件没变的时候 不要再搜索数据库 然后随机从DataTable中找出1%条保存ViewState2-----为了在Gridview分页的时候 不在随机从DataTable抽1%但现在第一次点击搜索的时候还可以 不会太慢
但第二次点击分页或点下载的时候就... ....问题1: 是不是ViewState转换成DataTable 太消耗性能了
问题2: 有其他好的建议吗
找出某个月的订单 接近30万条记录
从中随机抽取1%条我现在是把该月的订单保存到DataTable中
然后把DataTable保存ViewState1中-----为了在条件没变的时候 不要再搜索数据库 然后随机从DataTable中找出1%条保存ViewState2-----为了在Gridview分页的时候 不在随机从DataTable抽1%但现在第一次点击搜索的时候还可以 不会太慢
但第二次点击分页或点下载的时候就... ....问题1: 是不是ViewState转换成DataTable 太消耗性能了
问题2: 有其他好的建议吗
解决方案 »
- 类型转换问题:用户代码未处理 FormatException
- 代码简写
- gridview读取更新的数据库
- 如何获取gridview下TemplateField中div的id?
- chartooem谁知道这个函数?在线等!!!!
- SOS,Response.Redirect的时候提示连接被重置
- 高分收集ASP。NET的学习资料,电子图书,BBS。
- 用datareader读取一个<table>能否在显示时,上下不同<table>的颜色不同。在线等待!
- 几个常识性问题,请大虾们指教
- 求高效算法 一个用户匹配右边标签组的优先级
- b.aspx后台方法server.transfer("a.aspx")却将b.aspx页面也保留在了a.aspx页面
- 当前目录下的页面的路径,如何得到?
通常这种数据可以存储在Session中,这种方法会牺牲服务器内存,有1000个用户访问服务器就废了。
好的解决方案是不存储,直接通过存储过程进行分页小数据量提取。
其中,VaryByCustom是最需要灵活运用的技术。
这个你该看下页面生命周期。就明白啥是viewstate了。
你只应该缓存已经查询过的一页、一页数据。
用top 1 percent还方便点呢
只是我抽出来的数据还要和其他表(订单状态)中的数据
还是分页读取数据
需要可使用缓存依赖SqlCacheDependency
SELECT TOP 1 PERCENT
随机newid
针对销售进行在线联机分析处理.使用SSIS进行ETL导入到DataWare House,用SSAS建立CUBE,维度对DW中的资料进行多维度分析.
最后可以使用SSRS或者ASP.NET/WINFORM来呈现.
嘿嘿,.net版里面好像懂BI的很少,短短一句话,把微软的BI的三驾马车全带进去了,嗯,说得很好