当前位置:编程学习 > JAVA >>

Java读取内存,文件,数据库中的数据的速度排序。

今天考了个题,用Java或者C++从内存,文件,数据库中读取一个字符串"abcde",速度如何排序,为什么。
我是回答的内存>文件>数据库
内存排第一应该没什么好疑问的。是从文件中读取数度快些还是数据库中快些呢?
因为我觉得数据库也是个软件系统,也是安装在硬盘上的,是用比较复杂的数据结构存储的,当读取简单数据时速度可能会更慢一些。。
不知道这个回答对不对,请各位点拨一下。。 --------------------编程问答-------------------- 问题从何时算开始。

任何一个数据库,你用程序获得连接的时间足够读100个"abcde"了。 --------------------编程问答--------------------
引用 楼主 ifvlr 的回复:
今天考了个题,用Java或者C++从内存,文件,数据库中读取一个字符串"abcde",速度如何排序,为什么。
我是回答的内存>文件>数据库
内存排第一应该没什么好疑问的。是从文件中读取数度快些还是数据库中快些呢?
因为我觉得数据库也是个软件系统,也是安装在硬盘上的,是用比较复杂的数据结构存储的,当读取简单数据时速度可能会更慢一些。。
不知道这个回答对不对,请各位点拨一下。。

个人意见:
速度的快到慢:内存>数据库>文件。
这样的结果,基于以下的前提:内存,就是本地机器的内存;数据库是本地的数据库,而且你在读取数据库的时候使用的链接,是从现有的数据库连接池中取到的,不需要你再次创建到数据库的链接;文件是你本地的文件。
分析:内存读取速度最快,毫无疑问。问题在于数据库还是文件快,对么?
先来说数据库的优势:可以对经常搜索的列进行索引,加快搜索速度。即使你不添加索引,数据库也内建了加快搜索的各种数据结构,保证你能快速的定位到你的数据的位置。如果你是安装查询条件,查询一个1000万行数据中的一条,那么数据库会很快的帮你查找到该记录。
文件:如果文件也是1000万条,就需要逐行扫描。
--------------------编程问答-------------------- http://bbs.csdn.net/topics/330143849 --------------------编程问答--------------------
引用 2 楼 develop_design_level 的回复:
Quote: 引用 楼主 ifvlr 的回复:

今天考了个题,用Java或者C++从内存,文件,数据库中读取一个字符串"abcde",速度如何排序,为什么。
我是回答的内存>文件>数据库
内存排第一应该没什么好疑问的。是从文件中读取数度快些还是数据库中快些呢?
因为我觉得数据库也是个软件系统,也是安装在硬盘上的,是用比较复杂的数据结构存储的,当读取简单数据时速度可能会更慢一些。。
不知道这个回答对不对,请各位点拨一下。。

个人意见:
速度的快到慢:内存>数据库>文件。
这样的结果,基于以下的前提:内存,就是本地机器的内存;数据库是本地的数据库,而且你在读取数据库的时候使用的链接,是从现有的数据库连接池中取到的,不需要你再次创建到数据库的链接;文件是你本地的文件。
分析:内存读取速度最快,毫无疑问。问题在于数据库还是文件快,对么?
先来说数据库的优势:可以对经常搜索的列进行索引,加快搜索速度。即使你不添加索引,数据库也内建了加快搜索的各种数据结构,保证你能快速的定位到你的数据的位置。如果你是安装查询条件,查询一个1000万行数据中的一条,那么数据库会很快的帮你查找到该记录。
文件:如果文件也是1000万条,就需要逐行扫描。

LZ说的是读取而不是查询吧,如果是查询,我认为对文件进行全文检索也比查询数据库要快。各搜索引擎查询的速度都是毫秒级的,数据不可能是存储在数据库的 --------------------编程问答-------------------- 没有前提条件/场景描述文件数据库没法比 --------------------编程问答-------------------- lz答得没错 --------------------编程问答-------------------- 不好意思,这段时间没有登录CSDN。
笔试通过了,面试的时候我问了面试这个题的答案。他给出的回答和一楼的几乎是一个意思。
结贴给分了。
补充:Java ,  Java SE
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,