在我的许多应用程序中,一个非常常见的操作只是简单地检查一个持久字符串的存在,该字符串可以是唯一的用户名,文件名/ URL,UUID或UNIQUE()id或“通用主键”。过去,我没有考虑太多,只是在MySQL中创建了一个标准表来跟踪此情况。
I recently was told that this equivalent operation of simply checking for a unique string should probably just be done on the filesystem, check file_exist()
on a path.
我的问题是,什么时候应该使用MySQL而不是仅仅(?)文件系统?
我的天真理解是MySQL设计为索引更好-但这仅适用于更复杂的操作吗?
我有一些担心:
- Does PHP
file_exists()
degrade when there are a large number of files in a folder? At which point should you "shard" a folder on an CentOS or Ubuntu Apache server (actually, I am not sure how dependent on PHP version, OS, web server version this is)? - If one needs to do things like list files, does that also come at a high performance cost over just your typical MySQL
SELECT Like '%bla%'
for example?
引理:两个系统是否应该并行创建?用于快速检查的文件系统和用于列表/搜索/其他操作的MySQL系统?