by shigemk2

当面は技術的なことしか書かない

作成したテーブルについて

いくつか知っておきたいことをメモ。

データベース製品間の互換性確保は難しい

データ型の違いのために、たとえばMySQLOracleでは同じCREATE TABLEの構文が適用されないことがある。
MySQLではVARCHAR型なのに、OracleではVARCHAR2だったりするから。

とはいえ、どの製品でも通用するCREATE TABLEを作成することは難しい。データ型の選択は
パフォーマンスに直結するから。

一度作ったテーブルは簡単には変えられない

というのも、列の定義変更やインデックスの追加/削除をオンラインで(アプリケーションを停止せずに)行うことが
できないから。更新がすべてブロックされたり、参照がブロックされることもある。
データ量が多いほどテーブルの定義変更は難しい。