mysql与es查询数据速度原理比较

mysql与es查询数据速度原理比较,第1张

财务平台亿级数据量毫秒级查询优化之elasticsearch原理解析_wang123459的博客-CSDN博客_elasticsearch 查询优化

mysql底层B-tree 支持矮胖,高胖的时候就很难受,说白了就是数据量多会增加IO *** 作。

ES底层倒排索引。term index不需要存下所有的term,而仅仅是他们的一些前缀与Term Dictionary的block之间的映射关系,再结合FST(Finite StateTransducers)的压缩技术,可以使term index缓存到内存中 (有点二级索引的感觉)

一个SELECT查询中的LIKE语句来执行这种查询,尽管这种方法可行,但对于全文查找而言,这是一种效率极端低下的方法,尤其在处理大量数据的时候。

开发者只需要简单地标记出需要全文查找的字段,然后使用特殊的MySQL方法在那些字段运行搜索,这不仅仅提高了性能和效率(因为MySQL对这些字段做了索引来优化搜索),而且实现了更高质量的搜索,因为MySQL使用自然语言来智能地对结果评级,以去掉不相关的项目。

建表:

ALTERTABLE表名ADDFULLTEXTINDEX(表字段)

使用SHOWINDEXES命令来检查索引已经被添加

拥有了数据和索引,就可以使用MySQL的全文搜索了,最简单的全文搜索方式是带有MATCH...AGAINST语句的SELECT查询:

SELECT表字段FROM表名WHEREMATCH(全文搜索表字段)AGAINST('搜索字符串')

最后显示结果


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7528350.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-06
下一篇 2023-04-06

发表评论

登录后才能评论

评论列表(0条)

保存