잘 모르겠습니다, 틀린가요?여러 인덱스에서 검색 한 결과가 잘못되었습니다 total_found Result (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)
그리고 쿼리에 쿼리 할 경우 내가 함께 x_person 선택하고 y_person 색인 경우 가정
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)
의 total_match는해야 131,541 + 34,733 = 166,274
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 = 1655522. 아무 설명해 주실 수 있나요? 왜 샘이 보이지 않는거야? 전자 'total_found'번호?
@MoyedAnsari, 그 Sphinx Query와 MySql과 관련이 없습니다.이 질문은 sphinx에 대한 것입니다. –
해당 쿼리에 대해 발견 된 총 행 수는 131541 * 34733 (즉, 2 개의 테이블에서 가능한 모든 가능한 행 조합) 일 수 있지만 두 테이블 모두 is_active라는 열이있는 것으로 나타나며 sql은 지정되지 않았습니다. 어느 쪽을 가리키고 있는지. – Kickstart
나는 마지막 결과를 참조하고있다. 마지막 결과에서 색인 (x_person과 y_person)을 모두 선택했다. 그래서 'total_found'는 첫 번째와 두 번째 'total_found'의 합계 여야한다고 가정합니다. @Kickstart –