我不確定,我是對還是錯。在多個索引上搜索給出錯誤total_found結果(Sphinx 2.X)
我有兩個索引x_person,y_person。
如果我在y_person上x_person
SELECT * FROM x_person WHERE is_active = 0 LIMIT 0,1;
mysql> show meta;
+---------------+--------+
| Variable_name | Value |
+---------------+--------+
| total | 1000 |
| total_found | 131541 |
| time | 0.005 |
+---------------+--------+
3 rows in set (0.00 sec)
和查詢查詢:
SELECT * FROM y_person WHERE is_active = 0 LIMIT 0,1;Show meta;
mysql> show meta;
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| total | 1000 |
| total_found | 34733 |
| time | 0.002 |
+---------------+-------+
3 rows in set (0.00 sec)
假設如果我選擇x_person和y_person索引在一起時,total_match應131541 + 34733 = 166274
SELECT * FROM x_person,y_person WHERE is_active = 0 LIMIT 0,1;
mysql> show meta;
+---------------+--------+
| Variable_name | Value |
+---------------+--------+
| total | 1000 |
| total_found | 165552 |
| time | 0.008 |
+---------------+--------+
3 rows in set (0.00 sec)
這裏我得到了total_found = 165552.任何一個可以解釋爲什麼這不顯示薩姆e'total_found'數字?
@MoyedAnsari,其獅身人面像查詢和它與MySql.I沒有關係。這個問題標記爲sphinx。 –
該查詢找到的總行數可能爲131541 * 34733(即,兩個表中的行的每個可能組合),但該sql可能無效,因爲兩個表似乎都有一個名爲is_active的列,並且您尚未指定你指的是哪一個。 – Kickstart
我指的是最後的結果,在最後的結果中我選擇了索引(x_person和y_person)。所以我假設'total_found'應該是第一個和第二個'total_found'的總和。 @ Kickstart –