You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
概要CREATE [ UNIQUE ] INDEX [ CONCURRENTLY ] [ name ] ON table_name [ USING method ] ( { column_name | ( expression ) } [ COLLATE collation ] [ opclass ] [ ASC | DESC ] [ NULLS { FIRST | LAST } ] [, ...] ) [ WITH ( storage_parameter = value [, ... ] ) ] [ TABLESPACE tablespace_name ] [ WHERE predicate ] 説明CREATE INDEXは、指定したリレーションの指定した列(複数可)に対するインデックスを作ります。 リレーションとしてテーブルまたはマテリアライズドビューを取ることができます。 インデッ
前提知識 Rails アプリにおいて、テーブルの追加やカラムの追加は簡単なものの、カラムの削除やリネームは慎重に行う必要がある。たとえアプリからそのカラムを参照してないとしても、いきなりカラムを削除するとエラーになる可能性が大いにある。 というのも Rails にはスキーマキャッシュというものがあり、テーブルのカラム情報をモデルがキャッシュしているからだ。このキャッシュはたとえばいわゆる N+1 クエリ問題を避けるために includes (eager_load) するときに参照される。 SELECT 句で t0_r0 のような機械的に別名が振られるようなクエリを見たことがある Rails エンジニアは多いと思う。 機械的に全カラムを取得するためにスキーマキャッシュを利用しているため、このようなクエリが実行されてる中でカラムを削除したりリネームしたりすると、スキーマキャッシュをもとに並べら
MVC2モデルとMVCモデルの違いについて、良い記事があったのでリンクしておく。 【元ネタ】 MVCをWebに適用した「MVCモデル2」 : Java好き MVCモデルのバリエーション: プログラマの思索 (引用開始) 「MVC」と「モデル2」の違いが、「モデル」の設計に影響を与える 違いは、「モデル」が「ビュー」に状態が変わったことを通知することがWebの性質上なくなった点。 サーバー側からいきなり「モデル」の状態変更が通知されることは HTTPではできないので、必然的にそうなる。 大したことのない変化に思えるが、これにともない「モデル」の構成が「MVC」と大きく変わる。 「モデル」が状態が変わったことを通知することができないことは、 毎回最新の状態のモデルを作ることにつながる。 「MVC」では前状態を保持しつつ状態変化に対応させるといった「モデル」の使い回しが可能だった。 しかし、「モ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く