gpt4 book ai didi

ios - Sqlite3 中 ALTER TABLE ADD COLUMN 的速度?

转载 作者:行者123 更新时间:2023-11-29 13:40:56 24 4
gpt4 key购买 nike

我有一个广泛使用 sqlite3 数据库的 iOS 应用程序。我需要在这些表的很大一部分中添加一列。这些表都不是我真正认为的大表(我习惯于处理 MySQL 表中的数百万行),但考虑到 iOS 设备的硬件限制,我想确保它不会成为问题。最大的表将有几十万行。他们中的大多数将是几百到几千或几万。

我注意到 sqlite3 只能将列添加到表的末尾。我假设这是为了某种类型的速度优化,尽管它可能只是数据库文件格式的限制。

  1. 向 sqlite3 表添加一行的时间成本是多少?

  2. 它是否只是更新架构而不更改表数据?

  3. 时间是否随着表格中已有的行数或列数的增加而增加?


我知道对此的明显答案是“只是测试”,我很快就会这样做,但是经过几分钟的搜索后我无法在 StackOverflow 上找到答案,所以我想我应该问问其他人将来更容易找到这些信息。

最佳答案

来自 SQLite ALTER TABLE documentation :

The execution time of the ALTER TABLE command is independent of the amount of data in the table. The ALTER TABLE command runs as quickly on a table with 10 million rows as it does on a table with 1 row.

文档暗示操作是 O(1)。它的运行时间应该可以忽略不计。

关于ios - Sqlite3 中 ALTER TABLE ADD COLUMN 的速度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9166828/

24 4 0