FnuLnu回答ポイント 60ptウォッチ 3

Senna+MySQL(Tritonn)でのテーブル設計に関する質問です。


全文インデックスを使用するにはDBタイプで
MyISAMを使用しなければいけませんが、
基本的にはInnoDBを利用したいと思っています。
そこで下記の2パターンのどちらにするかで悩んでいます。

■パターン1
pageテーブル(InnoDB)
|page_id(PK)|page_title|その他カラム|

search_dataテーブル(MyISAM)
|page_id(PK)|page_contents(全文インデックス)|

■パターン2
pageテーブル(MyISAM)
|page_id(PK)|page_title|page_contents(全文インデックス)|その他カラム|

パターン1とパターン2、
それぞれのメリットについてご意見頂きたいです。
特にスケーラビリティ的な部分についても、
ご意見頂けると嬉しいです。

■パターン1のメリット
・pageテーブルのカラムについては外部キーが利用出来る。
・pageテーブルのカラムについてはトランザクションが利用出来る。

■パターン2のメリット
・パターン1と違い毎回JOINせずに済む。
・パターン1と違い片方がdeleteされた時等の操作を別途実装する必要が無い。

※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。
ログインして回答する

みんなの回答

この質問へのコメント

この質問への反応(ブックマークコメント)

質問の情報

登録日時
2008-07-22 18:27:50
終了日時
2008-07-29 18:30:03
回答条件
1人2回まで

この質問のカテゴリ

この質問に含まれるキーワード

innodb56MyISAM33Tritonn8MySQL2612トランザクション58Senna19インデックス372PK29dB1997

人気の質問

メニュー

PC版