同级别数据量:请问php查数据库查文件哪个快
时间:2021-07-01 10:21:17
帮助过:15人阅读
同级别数据量:请教 php 查数据库 查文件 哪个快
请教大家,通过php的函数file_exists()查询文件是否存在,这个函数运行速度和从数据库里查询一条记录相比哪个比较快?
前提,如果是数据库的话单表200万行数据以上(数据量比较大,最终可能过千万),如果是文件的话也是同等级数据量。
如果使用函数查询,只要知道是否存在即可,如果数据库查询,则需要select出;
请各位前辈指点指点,谢谢
------解决方案--------------------
------解决方案--------------------
判断文件存在时,是不是就要对这200万行甚更多的path进行循环判断。
现在进行比对的就是
200万+的file_exists vs 200万+的select
file_exists函数是会缓存的。 查找数据库orm联结,select多次
所以我倾向于select
------解决方案--------------------
只要你规划好目录结构,应该是没有问题的
需要注意的是,由于文件必须组织在多级目录中,文件中的连接就需要做些处理了
不是很清楚linux的文件系统,以 windows 系统为例:文件在硬盘中是按簇存放的,无论文件多么小,都要占有一簇(4kb)
那么你的 200万 个文件至少需要 2M * 4K = 8G 空间
------解决方案--------------------
不知道你的数据到底是什么数据, 大部分情况下,数据本身的变动性较大,
如何检索也需要知道.
数据库支持多样化的查询, 删除修改也很方便.
文件这些方面都不擅长,更何况这么多文件....
"我想是这样的: html肯定是比较不消耗服务器资源的,所以我想把数据库的文件全部生成静态文件,也就是html文件"
如果这是你唯一的原因,那么我基本认定这样搞静态化是毫无必要.
web是从静态的html转向了动态的技术(php等),而不是反方向,
逆向而行一般需要特别的理由