MySQL分区:多分区表的性能提高。为什么?

MySQL分区:多分区表的性能提高。为什么?,mysql,performance,parallel-processing,data-partitioning,Mysql,Performance,Parallel Processing,Data Partitioning,我已经实现了一个基准测试,它在10个不同的表上测试读写的持久性 我有10个java线程,每个线程仅对其表执行查询: 线程1对表1执行操作, 线程2对表2执行操作 我比较了并行运行这些线程在非分区表[1-10]上执行多个读取的性能,与将每个表划分为9个相等分区(每个分区代表一周的测量,总共9周的数据)时相同基准测试的性能 我收到了有趣且无法解释的结果: 对于非分区表而言,单个线程的单个操作的性能要高出两倍,而对于分区表而言,所有线程的所有操作的总时间要快5倍 我检查了日志,发现分区表允许更多的操作

我已经实现了一个基准测试,它在10个不同的表上测试读写的持久性

我有10个java线程,每个线程仅对其表执行查询:

线程1对表1执行操作, 线程2对表2执行操作

我比较了并行运行这些线程在非分区表[1-10]上执行多个读取的性能,与将每个表划分为9个相等分区(每个分区代表一周的测量,总共9周的数据)时相同基准测试的性能

我收到了有趣且无法解释的结果:

对于非分区表而言,单个线程的单个操作的性能要高出两倍,而对于分区表而言,所有线程的所有操作的总时间要快5倍

我检查了日志,发现分区表允许更多的操作并行,尽管单个操作更长,但不同线程的多个操作并行,因此完成得更快

我不明白为什么会发生这种情况,因为每个线程只在自己的表上执行操作


我所有的表和分区都只使用MyISAM引擎

查看给定的关于分区如何帮助提高服务器性能的文章

专家回答的问题也差不多,看看吧