sql >> データベース >  >> RDS >> Mysql

TEXT / BLOBを同じテーブルに格納するかどうか?

    更新:Barracudaは、バージョン5.7以降のデフォルトのInnoDBファイル形式です。

    MySQLバージョンで利用可能な場合は、

    を使用してInnoDBBarracudaファイル形式を使用します。
    innodb_file_format=barracuda
    

    MySQL構成で、ROW_FORMAT=Dynamicを使用してテーブルを設定します (またはCompressed )実際に使用します。

    これにより、InnoDBはBLOB、TEXT、およびより大きなVARCHARを行ページの外に格納できるようになり、効率が大幅に向上します。 このMySQLperformanceblog.comブログ記事 を参照してください。 詳細については。

    私が理解している限り、Barracuda形式を使用すると、パフォーマンス上の理由から、TEXT / BLOB/VARCHARを別々のテーブルに格納することはできなくなります。ただし、適切なデータベースの正規化を念頭に置くことは常に良いことだと思います。



    1. スレッドが失われた場合にテーブルのロックを解除する

    2. SQL Serverのトリガーの代わりに、SCOPE_IDENTITYを失いますか?

    3. ミリ秒単位の月ごとの値の合計

    4. 複合インデックスはあるが主キーはないMysqlテーブル