面试官:你真的认为ElasticSearch比MySQL快?

那天,我在咖啡厅点了一杯拿铁,看着窗外进进出出的人。
我突然想到一个问题:为什么ES在进行数据库查询时处理复杂查询时总是那么快?记得有一次,公司有一个项目,需要处理大量数据,涉及到多维度分析。
我们尝试在 MySQL 上运行它,但花费的时间太长。
最后,我们切换到 ES,收获立竿见影。
ES的倒排索引机制就像蜘蛛网一样,将所有关键词密密麻麻地编织起来,查询自然就快了。
但这也让我很好奇,ES在处理大量数据时是如何保持效率的?或许这就是科技的魅力。
总有解决复杂问题的聪明方法。
等等,还有别的事。
我想到ES的分布式架构也是其性能优势的一部分。
这是另一个值得进一步研究的点。

一文让你对mysql索引底层实现明明白白

是的,这是一个索引。
这就像一本书的目录,可以让您快速查找页码。

磁盘就像一个旧的录音机,你必须弹出磁带。

B+树?如果您想快速查找一本书,这是理想的选择。

InnoDB?就像任何一台好的计算机一样,它擅长阅读和写作。

联合索引?必须按顺序使用,类似于解锁手机。

B+Tree和InnoDB,一个读快,一个写快。

优化索引?首先检查最左边的项目。
不要跳过它。