【发布时间】:2012-01-31 03:03:06
【问题描述】:
我将允许用户上传以下文件 - PDF/视频/照片。用户上传的所有文件都显示在个人资料页面上。所有上传的文件都可以按名称或标签和文件类型搜索。
目前我会将所有文件存储在 一个 mySQL 表中,myisam 引擎用于全文和标签搜索,还 faster 用于选择数据.
假设如果他们在一张表中存储了超过 10+ 百万条记录,那么搜索最终会变慢。我正在考虑将单个表格分成三个单独的表格,例如在这种情况下,如果用户想要搜索所有文件类型,我会合并所有搜索。这会是更好的方法吗?
缺点是如果我在后期添加新文件类型,我将不得不创建一个新表,例如允许用户上传 zip 文件。
如果多个用户同时上传,innodb 会是更好的选择吗,innodb 具有行锁定功能,对吗?
谢谢,:)
编辑:我将文件路径存储在 db 表中,而不是实际文件本身。
【问题讨论】:
-
你把文件也存到表里了吗?
-
@rene 哎呀,我将文件路径存储在表中,而不是实际文件本身。对此感到抱歉,
-
名称/标签搜索真的需要全文搜索吗?
-
@Nanne fulltext 在这种情况下可能不需要,我可以使用 'LIKE' 。
标签: mysql performance database-design innodb myisam