gpt4 book ai didi

sql-server - Asp.net Core 2.2 将整个DB表存储在内存中EF Core

转载 作者:行者123 更新时间:2023-12-02 02:44:46 24 4
gpt4 key购买 nike

我有一个作为 azure 应用服务托管的 asp.net core 2.2 应用。这偶尔会收到大量突发流量。大部分资源用于验证邮政编码。对邮政编码表的查询都是select。没有更新或插入。这些查询是性能瓶颈。该表本身大约有 700mb。我一直在寻找一种方法来在启动时将这个特定的表存储在内存中,可能作为单独的数据库上下文。是否可以使用启动时连接到 SQL DB 的主上下文中的数据填充此辅助数据库上下文?这是一个坏主意吗?

最佳答案

将它们放入内存中并不是一个好主意。您可能已经在 azure 中使用共享资源,因此这会影响性能。不确定你的限制,但我可以建议以下内容。

扩大规模

如果您可以尝试扩展数据库实例。肯定会有所帮助。

查询优化

如果您还没有的话,请进行查询优化。寻找周围的最佳实践。

只读副本

如果您的表是跨国数据库的一部分,您可以创建只读副本。只读副本针对读取查询进行了优化。

缓存

可以考虑像Redis这样的分布式缓存。取决于您的餐 table ,例如如果它要查找数据,则让它使用缓存旁模式按需构建。

NoSQL/数据仓库

RDBMS 的性能受到许多因素的影响。在跨国数据库中访问如此大的数据仍然是一个挑战。如果您的业务案例允许,您可以使用 NoSQL 数据存储或数据仓库解决方案。

关于sql-server - Asp.net Core 2.2 将整个DB表存储在内存中EF Core,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56014833/

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