像省份,行业这种变化很小的表,读取频繁,占用资源,怎么设计比较好?

loveniki 2012-08-10 08:29:37
像省份,城市,行业,公司性质这种表,几乎每个登陆者都要获取,但是这些表的数据几个月,一年都没有什么变化。但是用到他们的时候很多,每次都去读数据库,很占用资源啊。有什么解决方案吗?
比如把他们全部读出来,放到Global.asax文件里面?
还有什么好的解决方案吗?
...全文
163 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
nada123456789 2012-08-10
  • 打赏
  • 举报
回复
用xml吧,数据库就是用来处理数据,省份这些没必要放进去
誰是方長 2012-08-10
  • 打赏
  • 举报
回复
JS数组中感觉好点。
isjoe 2012-08-10
  • 打赏
  • 举报
回复
ASP.Net支持缓存机制,而且数据改变后会自动更新到内存中的。
高彬 2012-08-10
  • 打赏
  • 举报
回复
1、存缓存中。
2、放到文件中,比如:JS数组或JSON字符串、XML文件中等。
3、直接做成控件。

方法很多,主要得根据你们项目里的需求。
loveniki 2012-08-10
  • 打赏
  • 举报
回复
[Quote=引用楼主 的回复:]
像省份,城市,行业,公司性质这种表,几乎每个登陆者都要获取,但是这些表的数据几个月,一年都没有什么变化。但是用到他们的时候很多,每次都去读数据库,很占用资源啊。有什么解决方案吗?
比如把他们全部读出来,放到Global.asax文件里面?
还有什么好的解决方案吗?
[/Quote]

对于一个用户来说,他访问一次就够了。现在的问题是很多用户访问,每个都得读数据库啊。既然这些数据很少变化,有没有办法不用都访问数据库。
fly4free 2012-08-10
  • 打赏
  • 举报
回复
如果你存的仅仅是名字,比如"黑龙江省"这四个字符,那么还真没必要从数据库读取……

但做关联下拉列表时,如果保存的是 id,极端的想,还是会出现,县市成绩升级的情况,hehe。
不过可以在程序版本升级的时候修改。

不过,为了避免修改麻烦,能放在一个地方就不要分两个地方。然后提供接口给各种客户端使用。
maji_lulu 2012-08-10
  • 打赏
  • 举报
回复
放到Cache 缓存里面去啊
  • 打赏
  • 举报
回复
可以利用缓存,还可以利用JS数组来实现,不必访问数据库
xuStanly 2012-08-10
  • 打赏
  • 举报
回复
全国省市县乡数据加一块4万多行,全缓存起来也吃不了多少内存.
  • 打赏
  • 举报
回复
把这部分数据缓存起来。
可以用这个来实现System.Web.Caching
例如用来保存数据的缓存是Cache["data"],些个属性去获取缓存的数据,
如果Cache["data"]==null,那么就去数据库读取数据,如果Cache["data"]!=null直接返回Cache["data"]
loveniki 2012-08-10
  • 打赏
  • 举报
回复
有没有什么办法把数据从数据库读出来直接放在内存里面,所有的访问直接读内存就行?
loveniki 2012-08-10
  • 打赏
  • 举报
回复
有没有什么办法把数据从数据库读出来直接放在内存里面,所有的访问直接读内存就行?

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧