0

そのクエリを実行した後

select count(*) from tablename WHERE query=';';

そのクエリはカウントを20として返します。しかし、そのテーブルには合計771498レコードが含まれています。SHOW STATUS LIKE'sphinx_%'で実行中;

このように戻ってきました

+--------------------+--------+
| Variable_name      | Value  |
+--------------------+--------+
| sphinx_error       | 5732   |
| sphinx_time        | 837    |
| sphinx_total       | 1000   |
| sphinx_total_found | 771498 |
| sphinx_word_count  | 0      |
| sphinx_words       |        |
+--------------------+--------+

ここで私は疑いを持っています。

  • sphinx_errorとは何ですか?
  • sphinx_timeとは何ですか?
  • sphinx_totalとは何ですか?
  • sphinx_total_foundとは何ですか?
  • sphinx_word_countとは何ですか?
  • sphinx_wordsとは何ですか?

それは私にとって非常に役に立ちます。事前の感謝

4

1 に答える 1

1

まず、sphinxse は実際の mysql テーブルではありません。フェイクテーブルです。クエリを受け取り、sphinxse はそれをバックグラウンドで実行中のインスタンスに転送し、結果を返して「テーブル」を mysql に生成します。

したがって、count(*) は機能しません。クエリを実行して行をカウントするだけです。さらに要求しない限り、20 行しかありません。

  • sphinx_error? - エラーを示します - おそらく SHOW WARNINGS がテキストを取得します。
  • sphinx_time? - クエリにかかったミリ秒単位の時間
  • sphinx_total? - 実際に取得できるレコードの数 (max_matches の対象)
  • sphinx_total_found? - 実際に一致するレコードの数
  • sphinx_word_count? - クエリの単語数
  • sphinx_words? - 各単語に一致するドキュメント/ヒット数 - クエリがないため、空です。
于 2012-09-14T11:36:44.783 に答える