[Senna-dev 467] Re: マージテーブルについて

Back to archive index

Tasuku SUENAGA a****@razil*****
2007年 2月 12日 (月) 16:11:40 JST


末永です。

tatsuya-u wrote:
> もう少し教えていただけたらありがいたです。
> 5.xxx系にするか?4.0.27にするか悩んで降りますので、
> 宜しくお願いいたします。
Sennaとは関係ありませんが、
MySQL 4.0系は今後積極的にはサポートがなされないと思うので、
5.0系に乗り換えたほうがよいのではないかと
個人的には考えています。

> 1.何故4.0.27だけサポートされているのでしょうか?
>  何か問題があるから5.x.xではサポートされていないとか
>  ありましたら教えていただければと思います。
4.0系の環境でMERGEテーブルを使いたいという要望があったため、
4.0系のみMERGEテーブルに対応しております。
5.0系でも実装はできなくはないとは思うのですが、
現在実装する予定はありません。

4.1系以降はbig tablesに対応しているため、
4.0系ほどはmerge tableの需要が高くはないのかなあ…
とも考えております。

> 2.以下回答頂いた内容についてです。
> 100万レコードのデータをマージテーブルにて分割テーブルを
> 管理するといったことを想定して動作させてみました。
> 
> で以下の質問をしたのは、Mergeテーブルに対してselectした時と
> 子テーブルにselectした時とのパフォーマンスの違いが思ったより
> あったので質問させて頂きました。
具体的にどのようなクエリを投げているのでしょうか?
クエリの種類によってはパフォーマンスに
大きな違いがある可能性があります。

> 最後に、マージテーブル時のインデックスの仕様というか
> 動作はどのようになっているのでしょうか?
> 
> マージテーブル、子テーブル1、子テーブル2それぞれがインデックスを
> 管理しているのでしょうか?
> たとえば「あ」で検索したとき、
> マージテーブルのインデックス、子テーブル1のインデックス、子テーブル2の
> インデックスそれぞれに対して更新が行われるような感じなのでしょうか?
インデックスの管理はおのおののテーブルで行われます。
Sennaのインデックスの実体は子テーブルそれぞれに存在します。

インデックス更新の場合には、
更新のあった子テーブルのインデックスが更新されます。
インデックス検索の場合には、
それぞれのテーブルで検索した結果を併せて検索結果とします。

> スニペット機能は4.0.27では使用できないのでしょうか?
> マージテーブルに対して行うとエラーになります。
> (エラー内容はメモってませんですいません。)
> 確かコネクションロスト系だったと思います。
スニペット機能はマージテーブル環境でテストを行っておりません。
初期化の呼び出しのタイミングなどが変わってしまい
動作していない可能性があります。

---
Tasuku SUENAGA <a****@razil*****>



Senna-dev メーリングリストの案内
Back to archive index