柳五随风 发表于 2005-04-14 11:37

读写文件不是效率很低的嘛,那么数据库为何效率高呢

俺们这里就是三大DATABASE的厂家之一.
另外,我谈的是数据库ENGINE的IO问题,不是数据库系统应用的问题,比如我用STORAGE PROCEDURE实现的话,基本不需要考虑CONNECT/CLOSE的问题.
另外DATABASE ENGINE自身的IO操作也可以看做和本地FILESYSTEM操作等同的.
至于你作的实验假设,需要考虑IO分布问题,我说了,单一设备两者差别很小,到IO并发情况下,我测试过,性能大约和设备数量成正比的(在IO可以并发的情况下).
如果非要拿应用DATABASE环境和文件系统比较的话,那么也应该是和NFS,JFS,GFS.XFS等比较.

wangyih 发表于 2005-04-14 16:59

读写文件不是效率很低的嘛,那么数据库为何效率高呢

原帖由 "柳五随风" 发表:
俺们这里就是三大DATABASE的厂家之一.
另外,我谈的是数据库ENGINE的IO问题,不是数据库系统应用的问题,比如我用STORAGE PROCEDURE实现的话,基本不需要考虑CONNECT/CLOSE的问题.
另外DATABASE ENGINE自身的IO操作也?.........

总算遇到一个真做数据库的 :D

我问个问题对于一个没有主键没有索引的大表。我数据库不是很熟悉。

select出一条再有什么BUFFER,难道不是遍利大文件?还有什么捷径?

bleem1998 发表于 2005-04-14 17:15

读写文件不是效率很低的嘛,那么数据库为何效率高呢

只要没有索引
任何操作都要遍历整个表
术语大约叫做:full table scan
除非你用了sql server里的top之类的东东
:)

sunsroad 发表于 2005-04-14 19:21

读写文件不是效率很低的嘛,那么数据库为何效率高呢

原帖由 "北京野狼" 发表:


你应该做过实验再发表评论.写个程序读写数据库和文件个10万次。
必定是几十倍甚至百倍的差别.
记住各自只有一行记录比较,不需要检索,和数据库的应用设计毫无关系.即便大量数据检索,数据库没有索引效率也

北京野狼 发表于 2005-04-14 20:50

读写文件不是效率很低的嘛,那么数据库为何效率高呢

原帖由 "sunsroad" 发表:


又一个喜欢透过现象“想”本质的,事实可以作证,这种思维通常都是错误的。

如果你真的想了解这两者之间的差别,建议你认真的找一点资料看看,了解一下什么叫做文件系统,什么叫做数据库。只有当你真正的理解?.........

你有什么理论就说出来,没话说就回家去睡觉。

柳五随风 发表于 2005-04-14 21:14

读写文件不是效率很低的嘛,那么数据库为何效率高呢

FULL TABLE SCAN
SCAN的是TABLESPACE,不一定就是大文件,也可以是RAW DEVICE.

另外:大表上面没有INDEX(不管是存储索引(B-TREE等),还是算法索引(比如HASH算法)的话,只能是FULL TABLE SCAN了,性能非常差.不推荐这样使用.小的静态表可以是FULL TABLE SCAN的,对性能没影响,甚至稍微好一点.

wangyih 发表于 2005-04-14 22:42

读写文件不是效率很低的嘛,那么数据库为何效率高呢

原帖由 "柳五随风" 发表:
FULL TABLE SCAN
SCAN的是TABLESPACE,不一定就是大文件,也可以是RAW DEVICE.

另外:大表上面没有INDEX(不管是存储索引(B-TREE等),还是算法索引(比如HASH算法)的话,只能是FULL TABLE SCAN了,性能非常差.不推荐这..........

那我理解数据库无论如何也不能赶的上文件系统。
数据库可能在文件查找的方法更有效一些。
我刚写了程序试验,的确数据库比文件系统速度差别很大啊

柳五随风 发表于 2005-04-14 23:47

读写文件不是效率很低的嘛,那么数据库为何效率高呢

:)

你能在DATABASE ENGINE里面测试?:),恐怕还是在应用级别上吧?:)

我说了,用DATABASE应用和本地文件系统相比较,不公平,即使要比较的话,也是要在海量数据级上比较.另外DATABASE是面向关系运算的,所以你也得在这上面比较.你总不能拿DATABASE当文件系统用吧?:)

fengwy 发表于 2005-04-15 00:08

读写文件不是效率很低的嘛,那么数据库为何效率高呢

谁说的数据库的IO效率高?IO永远是计算机心中的痛!
不管是操作系统,还是数据库,概么能外。

艾斯尼勒 发表于 2005-04-15 01:53

读写文件不是效率很低的嘛,那么数据库为何效率高呢

我看过有书说大型数据库改写了操作系统的磁盘io部分
页: 1 2 3 4 [5] 6 7 8 9 10 11 12 13 14
查看完整版本: 读写文件不是效率很低的嘛,那么数据库为何效率高呢