如何解决在从 db
我的 mariadb 服务器出现性能问题。我开发了一个事件源应用程序,其中注册的组件可以将它们的事件存储到一个表中 使用 BulkCopy 效果很好。 同时我可以使用一些过滤器从数据库中查询事件以显示在 Ui 中。
对于小于 100.000 的少量数据,这非常有效,即不到 1 秒。 但是对于大于 1000.000 的大 rom 号,查询变得非常慢 > 10 秒。 例如。一个查询看起来像: 我将索引设置为'Id'和'CreationTime'。 Id 是我的主键,是自动生成的。
至于数据库的访问层,我使用 EfCore 3.1。 Write.access SqlBulkCopy,
读取访问 Linq:
var nth = Math.DivRem(totalCount,limit,out _); // e.g. totalCount=1000000; limit=1000
await context.Headers.AsNoTracking()
.Where(b.CreationTime >= @from && b.CreationTime <= to && b.Id % nth == 0)
.ToListAsync();
这也转化为一个非常简单的 sql-query。 我也直接在数据库上执行了 sql-query,结果同样很慢。
我的问题是:我该怎么做才能获得更好的数据吞吐量?我可以在 mariadb 上配置什么以获得更好的结果?并行化? 或者有没有比 mariadb 更推荐的其他 sql-server?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。