【发布时间】:2020-02-02 15:29:44
【问题描述】:
假设,
我有一个网站根据标签、上传日期以及用户是否不喜欢该帖子来显示帖子。
我将在标签列上创建全文索引。
那么,我应该只在标签列上创建索引吗?
或
我应该用所有列创建复合索引(多列索引)还是只用标签列创建单个索引?
如果答案是复合索引,
我应该创建什么类型的索引?全文?它是否适用于其他两列(日期和喜欢)?
Likes 是一个 JSON 数组,而 Date 只是一个 VARCHAR COLUMN!
【问题讨论】:
-
这实际上取决于您将如何在需要的查询中使用列。因此,为了获得最佳建议,请向我们展示一些查询和数据样本。通常,要索引的列是那些在 where 子句、order by 子句或 join 语句中使用的列。我还建议开始阅读有关索引优化和使用的信息。 dev.mysql.com/doc/refman/5.5/en/optimization-indexes.html
-
向我们展示表格中一行的样本。特别值得注意的是您如何处理多个标签,您只搜索一个标签。您是否在单列中有标签列表或什么?是否通过撞柜台来存储“喜欢”?或者列出喜欢的人和时间的详细信息。
标签: mysql indexing full-text-search