와 나는 간단한 SQL 쿼리가 있습니다SQL SELECT ... WHERE 별도의 LIMIT, OFFSET 절
SELECT * FROM t1
WHERE status = 1 AND user_id = ? AND some_field NOT IN (?, ?, ..., ?)
ORDER BY createdAt DESC, rating DESC
LIMIT 10 OFFSET 0;
을하지만 내 PHP 코드에서 사이클이없는 사용자의 수집과 유사한 쿼리를 수행합니다. user_id =에서 IN 절을 사용해야 할 것 같습니다. 조건 (user_id IN (?, ...?)) 및 user_id IN 절의 각 id에 대해 LIMIT, OFFSET 절을 구분하십시오. 그게 가능하지 않습니다,하지만 어쩌면 내 쿼리의 성능을 떨어 뜨리지 않고 어떤 workarounds 존재합니까?
저는 PostgreSQL 9.0.3을 사용하고 있으며이 문제도 해결하기 위해 저장 프로 시저를 사용할 가능성이 있습니다.
첫째 : 9.0.3?!? 중요한 보안 업데이트를 비롯한 여러 가지 중요한 패치 릴리스가 있습니다. 지금 업그레이드하십시오. http://www.postgresql.org/support/versioning/을 참조하십시오. http://www.postgresql.org/support/security/faq/2013-04-04/ –
질문 자체에 대해서는 정확하게 문제가 무엇인지, 어떤 문제를 해결하려고하는지 파악하기는 어렵습니다. –
전혀 문제가 발생하지 않습니다. 데이터를 10 행 씩 가져 오려고합니까? –