是否有任何数据库索引可以提高 'like %keyword%' 查询的性能?
Is there any DB index that can improve the performance of 'like %keyword%' queries?
我知道在文本字段上建立索引有助于使用 like 'keyword%'
进行搜索。
但是是否有任何跨数据库索引可以改进 like '%keyword%'
的全文搜索?
一般情况下,对于少于 1000 个字符的文本字段,like %keyword%
查询的性能何时变为 unacceptable 网络请求?说什么时候 table 达到 10K 行?
您可以使用 FULLTEXT INDEX 并使用特定命令进行搜索 - 在 MSSQL 上可以使用 CONTAINS(column, '* keyword *') 或 FREETEXT - https://msdn.microsoft.com/en-us/library/ms142583.aspx
关于您关于性能的问题,它与您的基础设施、您的数据或您的搜索词密切相关。
我知道在文本字段上建立索引有助于使用 like 'keyword%'
进行搜索。
但是是否有任何跨数据库索引可以改进 like '%keyword%'
的全文搜索?
一般情况下,对于少于 1000 个字符的文本字段,like %keyword%
查询的性能何时变为 unacceptable 网络请求?说什么时候 table 达到 10K 行?
您可以使用 FULLTEXT INDEX 并使用特定命令进行搜索 - 在 MSSQL 上可以使用 CONTAINS(column, '* keyword *') 或 FREETEXT - https://msdn.microsoft.com/en-us/library/ms142583.aspx
关于您关于性能的问题,它与您的基础设施、您的数据或您的搜索词密切相关。