做一个BS的程序,我想问下我有一大堆数据是把它以TXT的形式存在硬盘上面通过浏览器访问的速度快,还是直接存到数据库访问的速度快啊。两者有何区别啊。请解释下,谢谢了。
[quote]以前是存在硬盘上的。可现在我想存到MySql里面,我想这样会不会降低访问的速度啊。 [/quote]
[color=blue][b]
以前存硬盘,可以推测出,你的访问不需要 数据库提供的高级的内容检索功能,你需要的只是简单的文件检索功能,文件系统的检索就可以满足了。
至于放入到Mysql中后,数据的访问速度,应该受到影响。因为MySQl本身是基于文件系统的,而你需要的又是文件系统本身能够提供的功能。
会影响速度,至于影响多少,需要具体的测试。[/b][/color]
[color=blue][b]
要看什么数据库了。
对于MySQL,MySQL的数据文件,是以文件的形式存储的,即是基于文件系统之上的。
如果你的应用不需要对一个txt文件的内容做检索,这肯定是 存在硬盘上快。
如果需要对一个txt文件的内容做检索(注意不是文件名的检索),那么文件系统做不了内容的检索,只能用数据库了。
如果是DB2,其数据文件是在裸设备上建立起来的,那么数据库的访问应该和 硬盘上的访问数据差不多,可能更快。如果要对文件内容做检索,则肯定数据库快。
[/b][/color]
[color=blue]
[b]记住一点:
文件系统只能检索文件名;数据库在检索文件的内容方面,有优势。
如果不是检索文件内容,而是文件名,那么要看数据库的类型了。若是基于文件系统之上的数据库(如MySQL),肯定速度不如直接访问文件系统快;如果是数据库自己建立文件系统(如DB2吧),文件存入数据库或者存入文件系统,访问数据应该相差无几。[/b][/color]
[quote]用MS Sql Server 和 MySql 储存数据,访问的速度不一样吗?MS Sql Server 比MySql的访问速度快是吗? [/quote]
[b]
这个没测试过,不过2者都是基于文件系统的。所以,如果只是根据文件名找到文件,然后显示的话,可以直接存放在硬盘上。[/b]