이 작동 :
SELECT * FROM aTable WHERE junk='foo bar';
이 영원히 중단 :
SELECT * FROM aTable WHERE junk~'foo bar';
이 영원히 중단 :
SELECT * FROM aTable WHERE junk~'foo b.*';
잘못 무엇입니까?정규식을 incorectly 데이터베이스에 사용하고 있습니까?
EDIT : SQL 쿼리가 제출되었지만 응답이 없습니다. 이 제공됩니까? 무한 루프, 잘못된 구문 등.
구문이 잘못되면 오류가있는 즉시 응답이 생성됩니다. 그렇다고 잘못 작성된 재귀 적 CTE ('WITH RECURSIVE' 쿼리)와 같이 결코 반환하지 않는 쿼리를 가질 수도 있습니다. 대부분의 나쁜 쿼리는 시스템에 리소스가 부족한 경우 결국 실패하지만 영원히 실행될 쿼리를 작성할 수 있습니다. 유휴 트랜잭션에 의해 보유 된 잠금에서 차단 된 쿼리는 무기한으로 (또는 유휴 트랜잭션이 종료 될 때까지) 지연됩니다. BTW, 내가 말한대로 각 문장에 대해 '설명'결과를 검토 했습니까? 가치가있다. –
왼쪽 고정 검색 용어를 찾으려면 그것을 표현해야합니다. * 많이 * 더 빨라질 것입니다 :'junk ~ '^ foo bar'', 색인으로 지원 될 수 있습니다. 가능하다면 일반적으로'LIKE'를 사용하십시오. 더 빨리, 아직. 이 [dba.SE 관련 질문] (http://dba.stackexchange.com/q/10694/3684) –