반응형
내 질문에 문제가 있습니다 ...
SELECT
keywords.keyword,
keywords.keyid,
sources.s_title,
sources.s_disc,
sources.s_link,
sources.sourceid,
sources.s_link
FROM link_ks
INNER JOIN keywords ON link_ks.keyid = keywords.keyid
INNER JOIN sources ON link_ks.sourceid = sources.sourceid
INNER JOIN thumbsup_items ON link_ks.sourceid = thumbsup_items.name
WHERE link_ks.keyid = :keyid
order by thumbsup_items.votes_up desc,thumbsup_items.votes_down asc,(thumbsup_items.votes_up+thumbsup_items.votes_down) desc
데이터베이스가 작을 때는 모든 것이 좋았지 만 데이터베이스가 커지면이 오류가 발생합니다.
The SELECT would examine more than MAX_JOIN_SIZE rows; check your WHERE and use SET
SQL_BIG_SELECTS=1 or SET MAX_JOIN_SIZE=# if the SELECT is okay
하지만 내가 제거하면
order by thumbsup_items.votes_up desc,thumbsup_items.votes_down asc,
(thumbsup_items.votes_up+thumbsup_items.votes_down) desc
문제가 해결되었습니다 ... 그러나 order by
는이 쿼리에 중요합니다 ...
이 쿼리를 작성하는 다른 방법이 있습니까? 아니면이 문제를 어떻게 해결할 수 있습니까?
해결 방법
그만큼
MAX_JOIN_SIZE
및 SQL_BIG_SELECTS
를 사용하면 서버를 중단시키는 긴 쿼리를 실행할 수 없습니다.
쿼리를 실행하기 전에 다음을 사용하십시오.
SET OPTION SQL_BIG_SELECTS = 1
또는 이것을 사용하십시오 :
SET SQL_BIG_SELECTS=1
참조 페이지 https://stackoverflow.com/questions/22630238
반응형
'MySql' 카테고리의 다른 글
MySQL 다른 PHP 페이지에서 동일한 MySQL 연결 사용 (0) | 2020.12.08 |
---|---|
MySQL InnoDB 테이블은 어떻게 복구합니까? (0) | 2020.12.08 |
MySQL 트리거에 최근 삽입 된 ID를 가져 오시겠습니까? (0) | 2020.12.08 |
MySQL Laravel 쿼리 빌더로 WHERE 조건 주위에 대괄호를 추가하는 방법 (0) | 2020.12.08 |
MySQL 스택 오버플로 호출 스택 #timememoryfunctionlocation 10.0000143728 (0) | 2020.12.08 |
댓글