当前位置:  开发笔记 > 编程语言 > 正文

文件访问速度与数据库访问速度

如何解决《文件访问速度与数据库访问速度》经验,为你挑选了2个好方法。

我在php中开发的网站每页查看许多MySQL数据库请求.虽然许多是具有适当设计索引的小请求.我不知道为这些页面开发缓存脚本是否值得.

    文件I/O通常比数据库请求快吗?这取决于服务器吗?有没有办法测试您的服务器可以处理多少个?

    其中一个页面检查数据库中的文件名,然后检查服务器以查看它是否存在,然后决定要显示的内容.我认为这将受益于缓存的页面视图?

此外,如果有关于此主题的任何其他信息,您可以转发给我,我将不胜感激.



1> James Socol..:

如果您正在进行大量读取访问(查找文件名等),您可能会从memcached中受益.您可以将"最热门"(最近创建的,最近使用的,取决于您的应用程序)数据存储在内存中,然后只在缓存未命中时查询数据库(以及可能的文件).内存访问远远快于数据库或文件.

如果您需要大量访问权限,那么数据库就是您的选择.如果您使用的是MySQL,请使用InnoDB表或其他支持行级锁定的引擎.这将避免人们在其他人写作时阻塞(或者更糟糕的是,无论如何写作).

但最终,这取决于数据.



2> 小智..:

这取决于数据的结构,数量以及变化的频率.

如果你有相对较少的数量,相对静态的数据和相对简单的关系 - 那么平面文件是工作的正确工具.

当数据之间的连接更复杂时,关系数据库就会出现.对于基本的"查找表",它们可能有点矫枉过正.

但是,如果数据不断变化,那么只使用数据库而不是手工处理配置管理会更容易 - 对于大量数据,使用平面文件你会遇到额外的问题,你怎么找到你需要的一点,有效.


数据库提供的另一件事是平面文件不是并发控制.在写入繁重的上下文中,写入单个平面文件的许多进程可能会有问题.自定义,平面文件和完整的RDBMS之间的一个很好的折衷是SQLite - 那里有不止一些SQLite支持的站点.
推荐阅读
coco2冰冰
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有