哪个文档表或许多文档表更有效

时间:2015-11-26 21:14:00

标签: mysql

我不知道如何解释这一点。 所以我给你看一个例子。

输入A

documents
 - board(varchar 30) : boardA | boardB | boardC
 - title(varchar 300)
 - content(longtext)
 ...

B型

boardA_documents
 - title(varchar 300)
 - content(longtext)
 ...

boardB_documents
 - title(varchar 300)
 - content(longtext)
 ...

boardC_documents
 - title(varchar 300)
 - content(longtext)
 ...

我认为当记录很多文件时,A类可能会很慢。

但有人告诉我"不是。使用索引"。

可以提高效率

所以我想知道哪个更有效率。

1 个答案:

答案 0 :(得分:2)

选项A效率更高。

使用选项B您需要UNION才能将所有数据重新组合在一起。

有条件的提示。

  • 也许board_type是该字段的更好名称。
  • 不要使用文本字段,而是创建引用另一个表board_type的int board_type_id字段
    • 例如,如果您想要将boardA的更改名称改为boardA.1,则只需更改一行。

board_type_id board_type 
    1           boardA 
    2           boardB
    3           boardC
  • board_type_id创建索引
    • 这将加快搜索每个board_type
    • 的速度