我将允许用户上传以下文件-PDF/视频/照片。用户上传的所有文件都显示在配置文件页上。可以通过名称或标记和文件类型搜索所有上传的文件。
现在,我将将所有文件存储在one mySQL表、用于全文和标签搜索的myisam引擎中,以及用于选择数据的中。
如果他们的记录超过了存储在这个表中的10+百万条记录,搜索最终会变得缓慢。我正在考虑将单表分解成三个单独的表--,例如用于pdf/照片/视频的表--在本例中,如果用户想搜索所有文件类型,我会联合所有搜索。这会是一个更好的方法吗?
缺点是,如果我在后期添加一个新的文件类型,我将不得不创建一个新的表,例如允许用户上传zip文件。
如果多个用户同时上传, innodb 会是一个更好的选择吗?
谢谢:)
编辑:我将文件路径存储在db表中,而不是实际文件本身。
发布于 2012-03-01 19:10:29
将文件信息保存在一个表中,比如文件名、路径、大小、上传、描述和维护另一个标签表,因为每个文档可以有多个标记。另外,您需要在标记文件中存储每行一个标记。
这将使您能够在此堆栈溢出页面的左侧执行诸如标记云、标记链接之类的花哨操作。
您还可能希望使用InnoDB,它提供外键支持,并在MySQL 5.1.x及更高版本的后期版本中具有更好的性能。从5.6开始,可能也有全文索引
https://stackoverflow.com/questions/8689133
复制相似问题