gpt4 book ai didi

mysql - 索引文本——MySQL 与 MS SQL

转载 作者:行者123 更新时间:2023-11-29 01:33:18 25 4
gpt4 key购买 nike

image 你有这样的应用程序:1 个 DB 表,几个 int 字段,几个小的 varchar 字段,和大约 10 个 TEXT 字段(内容变量 - 一些数据大约 50 个字符长,大部分大约 100-200,一些大约 1000,非常很少超过 1000 个)。行数在 x0 000 - x00 000 之间。现在,我需要像这样查询的有效方法(元语言):

SELECT (1 if textfield1 LIKE %param1% ELSE 0) as r1,(1 if textfield2 LIKE %param2% ELSE 0) as r2, ... 等等,对于 1 个查询中的大多数文本字段通常(它是动态 - 可能包括其中的 2 个,也可能是所有的)。

现在的问题 - MySQL 或 MSSQL 对我来说哪个更好(尽可能表达,如果确实需要升级到完整)?

我知道 MySQL 有很好的文本索引,您可以根据第一个字符的自定义数量设置这些索引,因此我可以针对典型场景对其进行平衡(例如:http://fernandoipar.com/2009/08/12/indexing-text-columns-in-mysql/)

MSSQL 只有全文索引,我没有这方面的经验。请注意,我不需要单词接近度或类似单词等功能(run = ran;一些词干提取会很好,但因为数据是多语言的,所以无论如何都是不可能的)。我只需要普通的 LIKE %word% 系统,仅此而已。而且我还必须能够找到短子字符串(2 个字符)。

实际上,目标是每小时/每天运行尽可能多的这些查询(不会有足够的结果,永远不会,因为它们应该尽可能频繁地刷新),所以将这种效率视为要求:)

谢谢!

更新:很明显,没有办法使用索引来优化 LIKE %foo% 查询。所以新的问题是:是否有任何其他方法可以加快此类查询的速度? (请省略“购买更多 ram 或 SSD”之类的内容:)

最佳答案

LIKE '%foo%' 表达式无法在任何 RDBMS 中优化。

您需要在 mysql 中建立全文索引或在 sql server

I need just common LIKE %word% system

然后选择你想要的任何 DBMS,因为它们都会吸收这样的条款;-)

关于mysql - 索引文本——MySQL 与 MS SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4931797/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com