MySQL5.0は、PL/SQL似のProcedureや、trigger(table指定不可、Call不可)が注目されていますが、個人的にはそれよりも、
+viewのサポート
+varchar型のサイズ拡張
+外部キー制約チェックのサポート(Innodb)

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

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

*** varcharのサイズ拡張 [#v7fe47cf]
-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移行 [#c45c3be2]
 [[MySQL Migration Toolkit:http://itpro.nikkeibp.co.jp/members/ITPro/oss/20050605/162125/?P=1]] 1.0.17rcを使って、Oracle 10gにある業務データベースを、MySQL 5.0へ移行してみた。結論として、これは''かなり使える''。
-手順と操作はとても簡単で、移行精度もなかなか好い様に思われる。
-OracleのSEQUENCEも、ユーザー定義関数化してくれるようだ。
-&color(red){確認された不具合};
++複数のカラムをもつ外部制約キーを移行する際に、カラム1つにつき1つの外部キーを、しかも同じキー名で作ろうとしてしまい、エラーとなる。手動でマージ修正する必要がある。 -> ''1.0.18rcで修正されました''
++複数のカラムをもつ外部制約キーを移行する際に、カラム1つにつき1つの外部キーを、しかも同じキー名で作ろうとしてしまい、SQL実行時エラーとなる。SQLを手動でマージ修正し、再実行する必要がある。 -> ''1.0.18rcで修正されました''
++「DEFAULT」が指定されている場合は、手動で、その指定値を「'(single quote)」で囲う必要がある。 例:DEFAULT 1 → DEFAULT '1'
++ENUM型のフィールドを移行する際には、選択肢を手動で再指定する必要がある。 例:ENUM → ENUM('Y','N')

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