Last-modified: 2005-10-10 (月) 15:04:52 (6766d)

 MySQL5.0は、PL/SQL似のProcedureや、trigger(table指定不可、Call不可)が注目されていますが、個人的にはそれよりも、

  1. viewのサポート
  2. varchar型のサイズ拡張
  3. 外部キー制約チェックのサポート(Innodb)

がうれしいです。これで、可用性・冗長性を保障できれば、商用DBMSの市場に本気で食い込めるのではないかと…。

 以下は、MySQL 5.0.12-beta-ntで確認しました。

varcharのサイズ拡張

  • varcharのサイズは21842まで有効。
  • 21843~21845を指定すると、以下のエラーになる。
    ERROR 1118 (42000): Row size too large. The maximum row size for the used table
    type, not counting BLOBs, is 65535. You have to change some columns to TEXT or B
    LOBs
  • 21846以上を指定すると、warningが出て、mediumtextに自動で変更される。

Migration Toolkitを使ったMySQL5.0へのDB移行

 MySQL Migration Toolkit 1.0.17rcを使って、Oracle 10gにある業務データベースを、MySQL 5.0へ移行してみた。結論として、これはかなり使える

  • 手順と操作はとても簡単で、移行精度もなかなか好い様に思われる。
  • OracleのSEQUENCEも、ユーザー定義関数化してくれるようだ。
  • 確認された不具合
    1. 複数のカラムをもつ外部制約キーを移行する際に、カラム1つにつき1つの外部キーを、しかも同じキー名で作ろうとしてしまい、SQL実行時エラーとなる。SQLを手動でマージ修正し、再実行する必要がある。 -> 1.0.18rcで修正されました
    2. 「DEFAULT」が指定されている場合は、手動で、その指定値を「'(single quote)」で囲う必要がある。 例:DEFAULT 1 → DEFAULT '1'
    3. ENUM型のフィールドを移行する際には、選択肢を手動で再指定する必要がある。 例:ENUM → ENUM('Y','N')

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS