分表好办, 不支持全局索引的数据库,本地索引只支持分区内的唯一性,无法支持表上的唯一性,因此如果要用本地索引去给表做唯一性约束,则约束中必须要包括分区键列。 支持全局索引的数据库比如 Oracle ,没有这种限制,只是要接受全局索引比本地索引可用性低的现实。 分库麻烦一些, 如果是分布式数据库,基本上无需使用者担心,只要这个数据库实现了主键的唯一性约束, 如果是非分布式数据库,办法也是有的,比如结合 kv 库啊,用事务去解决啊,只是带来的代价未必小。