哪种数据类型适合全文搜索?
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
我有一个包含超过 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