首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据库设计mySQL一个或多个表,并使用innodb或myisam来实现性能

问数据库设计mySQL一个或多个表,并使用innodb或myisam来实现性能
EN

Stack Overflow用户
提问于 2011-12-31 16:16:35
回答 1查看 270关注 0票数 0

我将允许用户上传以下文件-PDF/视频/照片。用户上传的所有文件都显示在配置文件页上。可以通过名称或标记和文件类型搜索所有上传的文件。

现在,我将将所有文件存储在one mySQL表、用于全文和标签搜索的myisam引擎中,以及用于选择数据的中。

如果他们的记录超过了存储在这个表中的10+百万条记录,搜索最终会变得缓慢。我正在考虑将单表分解成三个单独的表--,例如用于pdf/照片/视频的表--在本例中,如果用户想搜索所有文件类型,我会联合所有搜索。这会是一个更好的方法吗?

缺点是,如果我在后期添加一个新的文件类型,我将不得不创建一个新的表,例如允许用户上传zip文件。

如果多个用户同时上传, innodb 会是一个更好的选择吗?

谢谢:)

编辑:我将文件路径存储在db表中,而不是实际文件本身。

EN

回答 1

Stack Overflow用户

发布于 2012-03-01 19:10:29

将文件信息保存在一个表中,比如文件名、路径、大小、上传、描述和维护另一个标签表,因为每个文档可以有多个标记。另外,您需要在标记文件中存储每行一个标记。

这将使您能够在此堆栈溢出页面的左侧执行诸如标记云、标记链接之类的花哨操作。

您还可能希望使用InnoDB,它提供外键支持,并在MySQL 5.1.x及更高版本的后期版本中具有更好的性能。从5.6开始,可能也有全文索引

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8689133

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档