2012-09-20 2 views
0

여러 PDO 쿼리를 사용하여 mysql 데이터베이스를 수정하는 PHP 스크립트를 사용합니다. 두 명의 사용자가 정확히 같은 시간에 페이지를로드하면 mysql이 먼저 사용자 1의 모든 쿼리를 한 번에 처리하거나 사용자 1의 일부 쿼리가 처리 된 후 사용자 2의 일부 쿼리가 처리 될 위험이 있는지 궁금합니다. 그리고 나서 사용자 1에게서 더 많은 것을?동시 pageloads : 하나씩 쿼리?

제 질문에 대한 답변을 드리겠습니다. 미리 감사드립니다 ;-).

답변

0

잠금 또는 트랜잭션을 사용하지 않으면 쿼리 실행 순서를 보장 할 수 없습니다. 동시에 실행되는 PHP 스크립트가 여러 개있는 경우 서로를 인식하지 못하는 데이터베이스와 상호 작용합니다.

예를 들어 스크립트가 두 번 동시에 실행되고 두 초의 공백이있는 두 개의 쿼리가있는 경우 스크립트 1의 쿼리 1은 스크립트 2의 쿼리 1보다 먼저 데이터베이스에서 실행될 수 있지만 스크립트 2의 쿼리 2는 스크립트의 쿼리 2 전에 실행됩니다.

높은 수준의 관점에서 모든 쿼리는 동시에 실행되지만 특정 순서로 실행되는 쿼리에 의존하는 코드에 코드가있는 경우, d 모든 것이 잘되는지 확인하기 위해 잠금 또는 트랜잭션을 사용해야합니다.

관련 문제