哪种数据类型适合全文搜索?

Which data type is good for full text search?

我有一个包含超过 600 000 条记录的 table,并且我正在使用 varchar(max)。使用全文搜索时,性能非常低,它使用了 100% 的 CPU。

所以我打算将数据类型 varchar(max) 更改为文本。

哪种数据类型适合全文搜索?如何提高性能?

Table尺码:

这取决于您存储的数据类型和数据大小。如果经常检索数据,则可以将其存储为“varchar”类型。

但是,如果数据太大。很明显,要使用数据类型“文本”。

你应该使用:

varchar - 如果数据是字符串类型(不会太大)。

(例如)用户名、电子邮件、国家等,

text - 如果数据太大并且包含复杂类型(int + string)的数据。

(例如)消息、日志 ..,

您还可以在需要时使用“mediumtext”和“largetext”。

当您将一些“json”对象存储为字符串时,您可以使用中文本。如果您要存储一些大数组“json”,请考虑使用“largetext”。

在选择会影响性能的数据类型之前,您应该考虑以上情况。

Conclusion:

Large amount of small data - var
Small amount of large data - text

我也建议你访问这个link