0

現在、135 GB のデータである mysql データベースのインデックスを作成しています。インデックス作成後にデータが2倍になるかどうか心配です。インデックスにする必要がある2つのメインテーブルがあります。1 つは約 600 万行、もう 1 つは 1000 万行です。データにはテキストの消失が含まれます。

コメントありがとうございます...

4

1 に答える 1

1

mysqlとsphinxはメモリを共有しません。

Sphinxはデータのコピーを取り、インデックスを作成します。このインデックスはディスクスペースとメモリを使用します。

mysqlの場合と同様に、実際のデータにはストレージスペースを使用し、インデックスにはストレージスペースを使用します。(SHOW TABLE STATUSを確認してください)

Sphinxはこれと同様のインデックスを維持します(mysqlの外部で行うだけです)

sphinxは生のテキストを保存せず、転置インデックスを作成するだけなので、通常、インデックスは生のドキュメントよりも小さくなります。この転置インデックスは、コンパクトな形式で保存するのに適しています。

メモリに保存されるスフィンクスの量を(ある程度)構成できます。メモリが不足している場合、スフィンクスがRAMにほとんど保持されないようにすることができ、データの大部分はディスク上にあります。

于 2012-10-05T09:19:58.520 に答える