gpt4 book ai didi

Mysql 与 Oracle XE 与 Postgresql。可扩展性和性能,该选择哪一个?

转载 作者:IT王子 更新时间:2023-10-28 23:49:58 32 4
gpt4 key购买 nike

就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the help center为指导。




8年前关闭。




我知道这非常广泛,所以让我为您提供设置并具体说明我的重点。

设置:

我正在使用 MYSQL 处理现有的 PHP 应用程序。表几乎都使用 MYISAM 引擎,并且大部分都包含数百万行。最大的表之一使用 EAV 设计,这是必要的,但会影响性能。该应用程序的编写是为了最好地利用 MYSQL 缓存。它在每次页面加载时请求相当数量的请求(部分是因为这个),并且非常复杂,以至于必须在每个页面加载时遍历整个数据库的大多数表。

优点:

  • 免费
  • MYISAM 表支持对应用程序很重要的全文索引

  • 缺点:
  • 根据设置的方式,MYSQL 仅限于一个 CPU 用于整个应用程序。如果运行一个非常苛刻的查询(或服务器负载很大),它将排队所有其他查询,使站点无响应
  • MYSQL 缓存和缺少“WITH”或“INTERSECT”意味着我们必须分解我们的查询以更好地使用缓存。从而乘以查询的数量。例如,在具有数百万行的多个表上使用子查询(即使有不错的索引)被证明是当前/即将到来的负载和上面提到的约束(CPU 使用率)
  • 的一个大问题。

    感觉需要在来年扩大规模,但不一定准备好立即支付许可费用,我一直在考虑重写应用程序和切换数据库。

    正在考虑的三个选项是继续使用 mysql 但使用 INNODB 引擎,这样我们可以利用更多的 CPU 能力。当我们需要向上扩展 4Gb 数据库、1Gb RAM 或 1 个 CPU 限制(所有这些我们还没有达到)时,适应 Oracle XE 并获得许可。或者适配PostgreSQL

    所以问题是:
  • 在这三种情况下,失去全文索引会如何影响性能(oracle 或 postgreSQL 是否有等价物?)
  • oracle 和 postgreSQL 如何在子查询、WITH 和 UNION/INTERSECT 语句上利用缓存
  • Oracle 和 PostgreSQL 如何利用多核/cpu 能力(如果/当我们获得 oracle 许可证时)

  • 我认为这已经有很多要回答的,所以我就到此为止。如果有赞美的链接,我不介意简单/不完整的答案。

    如果您需要更多信息,请告诉我

    在此先感谢大家,感谢您的帮助。

    最佳答案

    PostgreSQL 支持全文搜索和索引。详情here .

    它可以使用任意数量的 CPU 内核。它为每个 session 创建单独的流程 + 一些额外的支持流程。详情here .

    PostgreSQL 没有内置查询缓存,但是有很多开源实用程序可以用于此目的。

    关于Mysql 与 Oracle XE 与 Postgresql。可扩展性和性能,该选择哪一个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13952182/

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