Pau*_*aul 3 mysql database-partitioning
我刚刚完成了本教程,幻灯片39上的子弹突出:"不要在同一台服务器中混合分区和非分区表"我不知道作者所指的是什么.这仅适用于基准测试吗?是否有一些要求在分区时应对所有表进行分区?即使它仅适用于基准测试,我仍然想知道为什么必须对它们进行分区以获得良好的基准测试结果.
幻灯片39具有以下标题:
Benchmarking partitions - ISOLATION
- Try to reproduce working conditions
- no other services running while benchmarking
- restart the server before each test
- Do NOT mix partitioned and unpartitioned tables in the same server
- Use MySQL sandbox
Run Code Online (Sandbox Code Playgroud)
请注意,这张幻灯片只有指隔离问题标杆时!
它不是指运行您的服务器.
如果您有一个表A和一个表B具有相同的数据和布局,则两者都应该被分区,否则您将得到不同的结果.
它没有指的是你有一个分区的大表链接到没有的较小表的情况,因为分区小表是没有意义的.
是否有一些要求在分区时应对所有表进行分区?
不
在数据库中混合分区表和普通表时绝对没有问题.
事实上,只有几个关键表应该被分区,其余的不应该被分区.
@Mike Purcell:分区并不是为了保护数据,而是通过允许更容易地从搜索中排除非相关数据来加速对数据的访问.
考虑按月分区的日志文件.
通常,您只对日志文件的窄时间片感兴趣,因此分区将允许MySQL在查看特定时间段的日志时考虑更小的数据部分.
分区的优点和缺点
分区通常可以加快速度,但代价是增加磁盘空间的使用(在极少数情况下会使速度再次降低).
分区只对具有大量行的表有意义.
| 归档时间: |
|
| 查看次数: |
277 次 |
| 最近记录: |