mysql - 如何微调 AWS R4 Aurora MySql 数据库
问题描述
我目前有一个 6.5Gb 的数据库,但增长很快......
目前在 R4L Aurora 服务器上,15.25G 内存,2 核 CPU
我正在考虑购买预留实例以降低成本,但担心如果数据库快速增长,例如在一年内达到 15G 以上,我将需要购买更大的服务器。
99% 的数据是交易历史,这个表是迄今为止最大的。它写得非常频繁,但是一旦写了一行,它就不会经常改变(尽管有时会改变)。
这么几个问题...
1)我应该禁用缓存吗?
2)即使数据库本身达到(比如说)30G,我是否可以使用 15G 内存,或者我会看到大量的速度问题
3) 数据库的索引很好,但是可以改进吗?例如,如果(比如说)100 万条记录属于 1 个用户,有没有办法对数据进行分区以防止其他用户的访问速度变慢?
谢谢
解决方案
- “我应该禁用缓存吗?” -- 哪个“缓存”?
- “我会看到巨大的速度问题吗”——我们需要查看查询等。
- “数据库的索引很好”——如果这意味着您为每一列都建立了索引,那么它就没有很好地索引。请告诉我们
SHOW CREATE TABLE
和一些重要的查询。 - “partition”——除了少数例外,分区不会加速MySQL 表。同样,我们需要细节。
- “15.25G Ram”和“database...15G”——数据集大小比 RAM 更大甚至更大是很常见的。所以,这对数字不一定好相互比较。
- “100 万条记录属于 1 个用户”——再次,请详细说明。
推荐阅读
- tensorflow - 如何在 Tensorflow 2 中的模型训练期间捕获任何异常
- kotlin - 如何覆盖私有方法
- html - 空输入字段
- twitter-bootstrap - 更改引导表单验证图标
- r - 将每日数据汇总到每月与每个月关联的年份
- django - Django Rest Framework:使用 ModelViewSet 插入列表
- c++ - 在 Qtcreator 中使用共享对象时出现问题
- javascript - 如何使用javascript刷新包含视图而不是laravel中的整个视图?
- stripe-payments - 如何创建按小时自动增加 Stripe 使用量的计量订阅/订阅项目?
- regex - 在 Google 表格中提取 UTM 参数