我有两张桌子,客户和订单,每一张都有一亿张记录。
现在,我必须将这两个表连接到Customer表和Order表中的列customer_id上,以生成报告。customer_id是客户表中的主键和订单表中的外键。
我从资深人士那里听说,MySQL(或任何其他关系数据库管理系统)几乎不可能做到这一点,因为单个系统必须对大量数据执行这种连接。像MySQL(或Oracle)这样的关系数据库管理系统对这么大的数据量是不好的吗?即使对于简单的操作,如使用适当的索引联接也是如此吗?
另外,我还想知道每个表的数据大小对于RDBMS表来说是个好消息,这样简单的操作,比如连接、聚合以及适当的索引,都能很好地工作吗?我知道答案可能是“视情况而定”,或因因素数目而异。但是考虑最好的优化是做好的,还有任何广义的标准数据大小限制被认为是好的吗?
发布于 2019-05-07 13:15:31
基本上你说的是表演。影响性能的因素/参数太多了。毫无疑问,在RDBMS中有1亿条记录是可行的,这取决于您为服务器所做的配置。如果我们寻找一些参数,请类似于:
1)硬件:查看物理表的大小,是否进行了适当的RAM分配。对于可行的RAM数量,适当的CPU核是否被分割。
(特别指MySQL )
2)排序缓冲区:是否为排序缓冲区全局变量配置了最优值。
3)临时表尺寸:临时表尺寸应足够合适
4)连接缓冲区:连接缓冲区应配置为最优值。
还有更多的参数需要查看。
希望这能有所帮助。
https://dba.stackexchange.com/questions/237453
复制相似问题