首页 > 编程知识 正文

mysql索引种类有哪些,mysql和oracle哪个好

时间:2023-05-06 07:59:15 阅读:13491 作者:614

mysql全文索引只有一种方法来确定词数这一相关性。 索引不会记录匹配单词在字符串中的位置。 此外,全文索引与数据量有很大关系,只有在全文索引全部在内存中时性能才会更好,因此,如果全文索引太大而无法全部读取到内存中,性能就会更差。 这些例子包括:

修改第1、1段文本中的100个单词时,索引需要100次。

2、全文索引长度对性能的影响也很大

3、全文索引生成更多的片段,需要更多的优化表操作

全文索引优化程序的工作也不尽如人意。 例如,

如果sql包含匹配代理,并且索引列具有全文索引,则mysql始终使用全文索引。 在这种情况下,如果有其他索引,mysql也并不比该索引性能高。

. wherematch(content ) against )‘high performance’(and author=123;

在这种情况下,如果author列具有常规索引,而content列具有全文索引,则mysql将使用全文索引而不是常规索引,从而降低查询的效果。

或者,可以将author列添加到全文索引中,为author列添加不常见的前缀,并将带前缀的单词放置在另一列filter中进行维护。 这样可以扩展全文索引以包含filter列。 sql :

. wherematch(content,filter ) against )‘highperformanceauthor _ id _ 123’inbooleanmode’;

这假设author列具有高选择性。 mysql基于author过滤将数据限制在较小的范围内,并匹配关键字。 如果author本身的选择性较低,则此替代方案会比原始方案更糟。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。