在数据库表上创建索引是一次性操作,并且基于许多因素,其成本可能会很高,包括索引中包含的字段数量和类型、要索引的数据表的大小、硬件等。数据库运行所在的机器的数量,甚至可能更多。
为了给出关于加快速度的合理答案,我们需要知道表的架构、您正在创建的索引的定义、您是否合理地确定您是否在索引中包含数据实际上是唯一的唯一性、什么?您的服务器的硬件规格,您的磁盘速度是多少,磁盘上有多少可用空间,您是否使用 raid 阵列,raid 的级别,您有多少内存以及利用率是多少。ETC...
话虽如此,这可能会更快,但我还没有测试过。
为您想要索引的表创建一个结构重复的表。将索引添加到新的空表中。将数据从旧表分块复制到新表。放下旧桌子。
我的理论是,在添加数据时为其建立索引比挖掘现有数据并在事后添加索引要便宜。