데이터가 업데이트/삽입/삭제되지 않으면 테이블을 읽는 동안 데이터베이스를 잠그지 않도록 데이터베이스에 알리는 것이 좋습니다. 도움이된다면, 워드 프로세서에서
더 읽기 :
SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED ;
SELECT * FROM TABLE_NAME ;
SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ ;
(http://itecsoftware.com/with-nolock-table-hint-equivalent-for-mysql REF :) :
은 MYSQL의 경우이의 라인을 따라 뭔가 것 같다
https://dev.mysql.com/doc/refman/5.7/en/innodb-transaction-isolation-levels.html
TSQL에 상응하는 내용으로 google을 추가해야하는 경우 도움이 될 수 있습니다.
SELECT * FROM TABLE WITH (nolock)
성능이 향상 될 수 있습니다. 다른 의견에서 언급했듯이 좋은 인덱싱을 사용하면 도움이 될 수 있습니다. 가능하다면 테이블을 추가하여 상황을 분산시켜 모든 데이터에 액세스하지 않아도됩니다.
참고 사항; 테이블을 잠그면 다른 사용자가 사용하는 동안 데이터를 변경하지 못하게됩니다. 삽입/삭제/업데이트가 많은 테이블을 잠그지 않으면 선택 항목에서 동일한 데이터 (하드 드라이브에서 이동 한 것과 같은), 누락 된 열이있는 행 등 여러 행을 반환 할 수 있습니다.
요청에 대해 선택하는 표가 하나씩 있으므로 모두 표를 잠그고 잠금 해제합니다. 업데이트, 삽입 또는 삭제를 수행하지 않으면 데이터가 변경되지 않아야하므로 잠금을 지키면됩니다.
누군가가 upvotes 제안 "이 질문은 연구 노력을 보여줍니다, 그것은 유용하고 명확하다"... 내가 Netflix를 보러 갈 것입니다 – Drew
쿼리 성능을 향상시키기 위해 테이블이 적절하게 색인되어 있는지 확인하십시오. 동시 쿼리가 많으면 서버가 한 번에 너무 많은 작업 만 수행 할 수 있으므로 자연스럽게 속도가 느려집니다. – Barmar