gpt4 book ai didi

mysql - 适用于超大型查询的最快 MySQL 引擎

转载 作者:行者123 更新时间:2023-11-30 00:44:25 24 4
gpt4 key购买 nike

我正在开发一个“搜索引擎”式的网站。在测试过程中,该网站根据各种不同的标准在传统 MySQL 数据库中搜索了 40,000 个条目,然后根据总体排名对每个条目进行排序和显示。对于这种级别的数据,性能非常好,平均在大约 2-3 秒内返回结果。

我充满信心,将数据库中的条目从 40,000 条增加到大约 325,000 条。现在,搜索数据库大约需要 4 分钟。一次搜索大约使用 2GB RAM!此外,我还从服务器收到一些警告消息:)

我觉得代码已经尽可能优化了。如果我再努力一个月,我的性能可能会提高 1%。所以我的问题是,用于超大数据集/查询的最快开源 MySQL 引擎是什么?

我读过有关 MemSQL 的文章,它看起来很棒,但它不是免费的(甚至接近实惠)。我不知道确切的美元数字,但我听说每个许可证/服务器 5,000 美元。

有什么想法、建议吗?目前,我使用MyISAM。我愿意接受任何与 MySQL 兼容的替代方案。

我意识到在某个时刻我需要更强大的硬件,但目前该解决方案尚不可行。

最佳答案

数据库不是搜索引擎。

试图哄骗它成为一个人,就是自找麻烦;特别是考虑到数据库几乎总是承担双重职责。因此,除了处理原子性和 ACID 合规性、检查一致性和管理事务之外,您现在还要求它成为一个搜索引擎。

您可以轻松解决您现在面临的问题(可能是添加索引和调整内存使用的情况;EXPLAIN statement 是您的 friend ),因为您的数据集非常小,但很快您就会遇到更多问题。

搜索引擎不构建在数据库上是有原因的。

有很多选项供您选择。热门的是solr其纯粹的搜索和索引功能和 elasticsearch这更像是一个用于大型分布式查询的平台。

在我看来,最容易理解的是 solr,它允许您创建“Google”风格的搜索 - 即搜索文档、创建索引、突出显示匹配项。它可以轻松地与数据库集成。试试这个 5 minute tutorial了解它是如何工作的。它是一个开源 Apache 项目。

关于mysql - 适用于超大型查询的最快 MySQL 引擎,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21507139/

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