MySQL 데이터베이스를 사용하고 있는데 여러 테이블에서 정보를 얻으려고 여러 쿼리 (500 개 이상)를 동시에 작성한 경우이 쿼리를 처리하는 방법을 알고 싶습니다. 순차적으로 또는 병렬로?MySQL 데이터베이스에서 동시 쿼리를 처리하는 방법은 무엇입니까?
답변
쿼리는 항상 여러 세션 (클라이언트 연결)간에 병렬로 처리됩니다. 단일 연결에 대한 모든 쿼리는 한 번에 하나씩 실행됩니다. 사용 가능한 서버 자원에 따라 여러 연결 간의 병렬 처리 수준을 구성 할 수 있습니다.
일반적으로 일부 작업은 개별 쿼리 세션 (트랜잭션)간에 보호됩니다. 이것들은 InnoDB 백엔드가 지원하지만, MyISAM 테이블은 지원하지 않습니다 (하지만 원자 연산이라고하는 개념을 지원합니다). 서로 다른 수준의 격리가있어서 서로간에 보호되는 작업 (즉, 한 병렬 트랜잭션의 작업이 다른 트랜잭션에 미치는 영향)과 성능에 미치는 영향이 다릅니다.
일반적으로 모든 쿼리는 병렬로 실행됩니다.
하지만 ... 여기에는 몇 가지 예외가 있습니다. 트랜잭션 격리 수준에 따라 행을 업데이트하는 동안 잠글 수 있습니다. 여기에 대한 자세한 내용은 여기를 참조하십시오. http://dev.mysql.com/doc/refman/5.1/en/dynindex-isolevel.html
각 연결은 한 번에 최대 하나의 쿼리를 실행할 수 있으며 단일 스레드에서 수행합니다. 서버는 쿼리 당 하나의 스레드를 엽니 다.
일반적으로 쿼리가 서로 차단되지 않기를 바랍니다. 그러나 엔진과 쿼리에 따라 다를 수 있습니다. 매뉴얼에 자세하게 설명되어있는 MySQL에는 많은 잠금 기능이 있습니다.
그러나 서로 차단하지 않으면 자원을 소비하여 서로 느려질 수 있습니다. IO 작업은 이러한 속도 저하의 특별한 원인입니다. 데이터가 메모리에 저장되지 않으면 병렬 하위 쿼리의 수를 IO 하위 시스템이 처리 할 수있는 범위로 제한해야합니다. 그렇지 않으면 상황이 심각해질 수 있습니다. 측정이 핵심입니다.
일반적으로 500 개의 쿼리가 동시에 실행 중이고 잠금을 기다리지 않으면 하드웨어에서 최상의 가치를 얻지 못할 수도 있습니다 (500 개의 코어가 있습니까? IO를 기다리는 스레드 수는 얼마나됩니까?)
- 1. SQL Server가 동시 요청을 처리하는 방법은 무엇입니까?
- 2. 내 mysql 데이터베이스에서 현재 실행중인 쿼리를 확인하는 방법은 무엇입니까?
- 3. MySQL 데이터베이스에서 추출한 영어 이외의 문자를 처리하는 방법은 무엇입니까?
- 4. db 쿼리를 처리하는 가장 좋은 방법은 무엇입니까
- 5. MySQL 데이터베이스에서 임의의 레코드를 선택하는 방법은 무엇입니까?
- 6. 데이터베이스에서 동시 업로드 처리
- 7. mysql 데이터베이스에서 쿼리를 사용하여 SQL 파일을 가져 오는 방법
- 8. MySQL 데이터베이스에서 트랜잭션 프로세스를 처리하는 방법. 데이터베이스가 중단되면?
- 9. 동시 mySql 데이터베이스 쿼리
- 10. 성능 관련 : SQL Server는 단일 .NET 데스크톱 응용 프로그램의 여러 연결에서 동시 쿼리를 처리하는 방법은 무엇입니까?
- 11. 단일 열 데이터베이스에서 중복 항목을 처리하는 방법은 무엇입니까?
- 12. 데이터베이스에서 높은 점수를 얻기 위해 최적의 쿼리를 작성하는 방법은 무엇입니까?
- 13. ASP.NET MVC 3에서 복잡한 쿼리를 처리하는 방법은 무엇입니까?
- 14. MySQL 쿼리를 설계하는 쉬운 방법은 무엇입니까?
- 15. 이 MySQL 쿼리를 작성하는 방법은 무엇입니까?
- 16. 이 mysql 쿼리를 최적화하는 방법은 무엇입니까?
- 17. 2 개의 MySQL 쿼리를 결합하는 방법은 무엇입니까?
- 18. 이 MySQL 쿼리를 최적화하는 방법은 무엇입니까?
- 19. 이 MySQL 데이터베이스 쿼리를 작성하는 방법은 무엇입니까?
- 20. 다음에 대한 mysql 쿼리를 만드는 방법은 무엇입니까?
- 21. 이 MySQL 쿼리를 개선하는 방법은 무엇입니까?
- 22. AJAX : 데이터베이스에서 동시 요청 처리
- 23. PHP를 mysql 쿼리로 처리하는 가장 좋은 방법은 무엇입니까?
- 24. MySql-Proxy를 사용하여 MySql 쿼리를 추적하는 방법은 무엇입니까?
- 25. Visual Studio에 연결된 mysql 데이터베이스에서 데이터를 검색하는 방법은 무엇입니까?
- 26. 데이터베이스에서 열거 형 필드없이 열거 형을 처리하는 방법은 무엇입니까?
- 27. Gridview를 사용하여 데이터베이스에서 빈 반환을 처리하는 방법은 무엇입니까?
- 28. 데이터베이스에서 많은 테이블을 처리하는 가장 효과적인 방법은 무엇입니까?
- 29. SQL 쿼리 반환 값을 처리하는 방법은 무엇입니까? (PHP 및 MySQL)
- 30. 이 MySQL SELECT 쿼리를 DELETE 쿼리로 변환하는 방법은 무엇입니까?
단일 쿼리는 단일 스레드입니다. –