人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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された時等の操作を別途実装する必要が無い。

●質問者: FnuLnu
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:dB DELETE innodb MyISAM MySQL
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● falcon2
●60ポイント

http://sb.xrea.com/archive/index.php/t-9477.html

◎質問者からの返答

敢えて正規化を崩してパフォーマンスを確保する事はままありますね。ところで、パターン1とパターン2のどちらが良いと思いますか?

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ