elasticsearch,lucene,rdbms,Mysql,elasticsearch,Lucene,Rdbms" /> elasticsearch,lucene,rdbms,Mysql,elasticsearch,Lucene,Rdbms" />

Mysql Lucene vs DB index用于大数据的简单搜索?

Mysql Lucene vs DB index用于大数据的简单搜索?,mysql,elasticsearch,lucene,rdbms,Mysql,elasticsearch,Lucene,Rdbms,我在MySQL的一个表中有大约500GB的数据,它有大约50亿条记录。它大约有15列。它在所有必需的列上都有索引。当我从大表中选择*时,其中索引列=某个值返回数据需要几分钟。这里没有连接,也没有全文搜索要求 我看到一些团队使用lucene(或弹性搜索)来解决性能问题,它在几秒钟内返回记录。 我现在的理解是lucene(弹性搜索)主要用于全文搜索,但这里看起来它们甚至可以创造奇迹 用于大数据情况下的简单搜索功能 我的问题是,对于简单的where搜索功能,lucene index/search的性能

我在MySQL的一个表中有大约500GB的数据,它有大约50亿条记录。它大约有15列。它在所有必需的列上都有索引。当我从大表中选择*时,其中索引列=某个值返回数据需要几分钟。这里没有连接,也没有全文搜索要求

我看到一些团队使用lucene(或弹性搜索)来解决性能问题,它在几秒钟内返回记录。 我现在的理解是lucene(弹性搜索)主要用于全文搜索,但这里看起来它们甚至可以创造奇迹 用于大数据情况下的简单搜索功能


我的问题是,对于简单的where搜索功能,lucene index/search的性能如何优于DB index/search?

可能是您的MySQL实例需要配置为使用更多的内存作为其缓冲池,以便您搜索的索引适合RAM。@BillKarwin MySQL(或任何其他DBMS)是否提供完整的索引列数据(连同行位置)在磁盘内存中,或者它首先识别需要借助索引在磁盘上提取的数据行,然后仅提取索引数据及其行位置?MySQL可以将部分索引加载到缓冲池中,只要它需要搜索您想要的值。可能您的MySQL实例需要配置为使用更多内存作为缓冲池,因此您搜索的索引适合RAM。@BillKarwin MySQL(或任何其他DBMS)是否提供完整的索引列数据(以及行位置)在磁盘内存中,或者它首先通过索引识别需要在磁盘上提取的数据行,然后仅提取索引数据及其行位置?MySQL可以将部分索引加载到缓冲池中,只要它需要搜索所需的值。