2010-05-27
列の追加くらいすればいいのに
|どんな新機能を追加するのにもスキーマの更新が必要だったが、DBが大きくなるにつれて、これは骨の折れる作業になる。1000万行のテーブルに新しい列をひとつ追加するのは、かなり時間がかかる。
InfoQ: Redditで学んだ7つのこと
Redditがどんなデータベースを使ってるか知りませんが、列を追加することが時間がかかるとは限りませんよ。
=# \timing タイミングは on です。 =# create table r(i int); CREATE TABLE 時間: 2.949 ms =# insert into r select * from generate_series(1, 1000000); INSERT 0 1000000 時間: 24829.790 ms =# alter table r add t1 text; ALTER TABLE 時間: 8.197 ms =# alter table r add t2 text; ALTER TABLE 時間: 2.422 ms =# alter table r add t3 text; ALTER TABLE 時間: 2.295 ms
DEFAULTとかを指定すると時間がかかっちゃいますが。
=# alter table r add t4 text default ''; ALTER TABLE 時間: 22492.818 ms
トラックバック - http://postgresql.g.hatena.ne.jp/iakio/20100527
http://coreblog.org/ats/japanese-translation-why-reddit-uses-python
default指定して列を追加するなどしてDBに負荷がかかり,サービス全体のクオリティに影響が出るのはイヤーンかもですね