根据你的说法,最好是在读/写的时候,有一个1000行的数据库或5个数据库的200000行?
那么,如果这是由我决定的,我会拿走一百万行的表。 不一定是出于提高效率的目的,但是因为我试图跟踪存储在五个不同表中的数据,这些数据实际上是同一组数据。 有太多方法可以在脚下自我射击。 举例来说,如果我需要用某个键更新一个logging,我要看哪个表?
另外,当你平常的做法失败了,因为你的表中有这么多的logging,你将不得不学习有关优化的加载和加载,所以你将会在数据库pipe理方面获得更好的效果!
我会在单个数据库中使用一个tabel whit 1 000 000行。但是,您可以在google中findBoyce-Codd的正常格式,我相信您会得到更为直接的答案。
除非你的旧logging的字段已被弃用,如果转换旧logging是一场噩梦,那就不要这样做。
但是,您可以停止插入旧数据库,并在新数据库中的下一个数字处启动该ID。
我用DB来表示你的意思。 无论如何,你错过了一个重要的信息:你使用什么存储引擎?
随着MyISAM的分裂将使改变,因为它使用表锁。 有了InnoDB和MVCC,我认为这会有很大的不同。
你不认为如果任意地分割一个表可以以某种方式提高性能,那么MySQL开发人员可以在内部完成这个任务吗?
如果有任何理由认为分割桌子可以提高性能,那么你只是有一个低效率的桌子devise; 尝试对数据库进行规范化/非规范化处理,这样可以消除这种低效率,而不是试图任意分割表。