哪些MySQL数据库设计(附件)最适合读取高性能?

Emi*_*lás 5 mysql database performance database-design

我是MySQL的数据库管理员和开发人员.我和MySQL一起工作了几年.我最近询问和研究O'Reilly高性能MySQL第二版,以提高我在MySQL高级功能,高性能和可扩展性方面的技能,因为我经常因为缺乏MySQL的先进知识而感到沮丧(并且在很大程度上,我还有).

目前,我正在开展一个狡猾的网络项目.在这个项目中,我们将从一开始就拥有相当的内容和用户.我是数据库的设计者,这个数据库必须非常快(一些插入但主要是更重要的READS).

我想在这里讨论这些要求:

  • 会有几种物品
  • 这些项目有一些共同的领域和关系
  • 这些项目还有一些特殊的字段和关系,使它们彼此不同
  • 这些项目必须全部一起列出,或按公共字段或关系过滤
  • 这些项目也必须仅按类型列出(对于例如item_specialA)

我有一些基本的设计疑问,我希望你帮我决定和学习哪种设计方法对于高性能MySQL数据库更好.

古典的aproach

下图显示了在数据库中思考思维的第一个可能的思考方法:数据库图

集中的aproach

但也许我们可以通过一些或伪对象导向范例来改进它,将一般项目和关系集中在一个共同项目表上.列出所有类型的项目也很有用:数据库图表


  • 每个人的优点和缺点?
  • 您会选择哪种方法,或者您会看到之前看到的要求会有哪些变化?

在此先感谢!!