2014-04-09 3 views
2

약 50 개의 열과 30,00,000 개의 항목이있는 테이블 sub_mastersheet가 있습니다. 너무 길어서 서버가 시간 초과되는 쿼리를 실행하려고합니다. 해당 테이블의 다른 모든 쿼리는 완벽하게 작동합니다. 나는 또한 시도했다MYSQL PHP에서 검색 쿼리가 너무 오래 걸립니다. 서버 시간 초과

SELECT * FROM sub_mastersheet WHERE contributor_name1 = '$author' OR contributor_name2 = 
'$author' OR contributor_name3 = '$author'; 

: 위의 두 쿼리의

SELECT * FROM sub_mastersheet WHERE CONTAINS(contributor_name1, '$author'); 

없음이 작동되지 않고 항상 시간 초과 서버

여기 내 쿼리입니다. 심지어 PHP에서 내 관리자는 이러한 쿼리를 실행하는 데 약 1 시간이 걸립니다. 누구든지 도와 줄 수 있습니까? 열에

+0

각 contributor_name 필드의 색인은 무엇입니까? –

+0

색인이 있습니까? 그리고 실제로 해당 테이블 내의 모든 열을 검색해야합니까? – Prix

+0

이 문제입니다. 나는 색인이 없으므로 전 텍스트 색인 작성을 사용할 수 없습니다. 그리고 난 단지 하나의 칼럼이 필요합니다. ISBN13 – sss999

답변

0

추가 지수 (contributor_name2, contributor_name2)

그것은 쿼리의 성능이 향상됩니다.

+0

ya. 나는 그것을 안다. 나는 검색 속도를 높이기 위해 전체 텍스트 인덱싱 이외의 다른 방법이 있는지 찾고있었습니다. 덕분에 엔진을 – sss999

+0

에 많이 사용하셨습니까? – user3048109

+0

은 (는) innodb를 사용하고 있습니다. – sss999

관련 문제