文件读取与数据库视图效率哪个更高?

Dragon0102 2016-07-25 10:45:40
比如网站中有一些个人的应用配置,比如有菜单栏 A,B,C,D
用户 X 只想显示 A,B,C
用户 Y 只想显示 A,C,D
用户 Z 只想显示 B,C,D

方案一:存入MSSQL数据库表中,然后再调用视图读取
方案二:存入一个用户自己的文件,或txt,ini,xml等,然后再读取这个文件。

以3000并发量计算,方案一与方案二,哪个效率更高?
...全文
212 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
LongRui888 2016-07-25
  • 打赏
  • 举报
回复
引用 5 楼 Dragon0102 的回复:
[quote=引用 4 楼 wmxcn2000 的回复:] 按效率来讲,肯定是读取文件比较快; 但是还是存在数据库中比较方便;
几万条数据,至多十几万条数据,并发量3000-1万,效率差大概是多少?3秒以上有吗?[/quote] 这个没有用研究过效率到底查多少。 直接读取文件一般来说会比读取数据库效率 要高一点,因为文件中的格式相对来说比较简单,而且不需要数据库的支持,所以就不需要安装数据库。 而直接存储到数据库,因为数据库中记录的存放时比较复杂的,不是像csv文件那么简单,所以会比直接从文件读要慢。 但是好处是 数据是按照B树存储的,当数据达到10多万,而你只需要读取少量数据的时候,速度会比较快,而且可以创建索引,当数据修改的时候,可以支持并发,而不会出现数据错乱的情况。 所以,综合来说,还是要看你的需求,如果你的需求是直接读取文件的全部数据,而不需要修改更新删除,我觉得可以考虑直接用简单的方案 ,直接从文件读,不过你说有3000+的并发量,建议直接把数据存储到内存,在内存里读,而不是每次都打开文件读取,再关闭文件,这样要支持3000+的并发量,比较困难。 如果是每次只读取少量数据,在高并发的情况也可以支持,同时还可以支持增、删、改,保持数据的正确性。
Dragon0102 2016-07-25
  • 打赏
  • 举报
回复
引用 4 楼 wmxcn2000 的回复:
按效率来讲,肯定是读取文件比较快; 但是还是存在数据库中比较方便;
几万条数据,至多十几万条数据,并发量3000-1万,效率差大概是多少?3秒以上有吗?
卖水果的net 版主 2016-07-25
  • 打赏
  • 举报
回复
按效率来讲,肯定是读取文件比较快; 但是还是存在数据库中比较方便;
Dragon0102 2016-07-25
  • 打赏
  • 举报
回复
引用 2 楼 galenkeny 的回复:
方案二~~~~~~~~~~
能具体说明下吗?大概能差多少? 数据量应该不是很大 大概几万条,并发3000左右 thanks
以学习为目的 2016-07-25
  • 打赏
  • 举报
回复
方案二~~~~~~~~~~
Dragon0102 2016-07-25
  • 打赏
  • 举报
回复
自己顶一个

34,588

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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