JDBC
을 사용하여 INSERT
, UPDATE
, DELETE
및 ...을 사용하는 클래스가 있습니다. 여러 스레드가이 클래스를 사용할 수 있습니다 (공유 스레드가 아닌 각 스레드는이 클래스의 새 개체를 사용함).) 동시에 데이터베이스에 액세스 할 수 있습니까?여러 스레드가 JDBC를 통해 동시에 데이터베이스에 액세스 할 수 있습니까?
답변
예, 가능합니다.
각 새 객체가 동일한 JDBC 연결 객체를 공유하면 데이터베이스 액세스 속도가 느려집니다.
각 새 객체에 고유 JDBC 연결 객체가있는 경우 데이터베이스 액세스 속도가 느려지지 않습니다. 그러나 이렇게하면 데이터베이스에 여러 개의 연결이 생성되어 데이터베이스의로드가 증가합니다.
JDBC는 Java 코드를 통해 SQL 서버와 통신하는 방법에 대해서만 표준입니다. 다중 쓰레드는 JDBC에 아무런 영향을 미치지 않습니다. 코드가 쓰레드에 안전하고, 필요할 때 등 트랜잭션이 생성되면 모두 괜찮을 것입니다.
JDBC는 클래스가 아니므로 표준입니다. 그러나 데이터베이스 (일반적으로 컨테이너가 관리하는 연결 풀)에 대해 여러 연결을 가질 수 있습니다. 각 스레드는 연결을 가져오고 데이터베이스에서 작업을 실행합니다. 트랜잭션의 사용은 데이터 일관성 및 무결성을 보장합니다.
"컨테이너에 의해 관리되는 연결 풀"은 무엇을 의미합니까? – Soheil
응용 프로그램이 WebLogic, WebSphere, JBoss와 같은 JEE 응용 프로그램 서버에서 실행되는 경우 서버에서 DB 연결 풀을 제공합니다. 즉, 서버에서 여러 개의 DB 연결을 만들고이를 수행해야하는 클라이언트에 제공합니다. DB에 대한 조작. 클라이언트가 더 이상 연결을 필요로하지 않으면 서버는 해당 연결을 다른 클라이언트에 전달할 수 있습니다. 처음부터 연결을 설정하는 것은 무거운 작업이므로이 방법이 더 효율적입니다. – Bogdan
좋은 정보, 고맙습니다. – Soheil
- 1. JDBC를 통해 여러 사용자의 데이터베이스에 액세스하는 방법
- 2. 버클리 데이터베이스를 열고 동시에 여러 프로그램에서 액세스 할 수 있습니까?
- 3. 두 스레드가 동기화 된 메서드에 동시에 액세스 할 수 있습니까?
- 4. 여러 스레드가 동기화 된 블록을 동시에 입력 할 수 있습니까?
- 5. ASP.NET 작업자 스레드가 여러 요청을 동시에 처리 할 수 있습니까?
- 6. 여러 스레드가 동시에
- 7. 여러 스레드가 InsertDAO에 입력 할 수 있습니까?
- 8. 여러 명의 사용자가 동시에 데이터베이스에 액세스 할 수있게하는 좋은 방법입니까?
- 9. Java : JDBC를 사용하여 원격 MySQL 데이터베이스에 액세스 할 수 없습니다.
- 10. 여러 컨트롤러가 서로 다른 dbcontext를 사용하여 같은 데이터베이스에 동시에 액세스 할 수 있습니까?
- 11. JDBC를 통해 계층 적 데이터에 액세스
- 12. 웹 커넥터를 통해 여러 회사 파일에 액세스 할 수 있습니까?
- 13. phpMyAdmin을 통해 데이터베이스에 액세스 할 수 없습니다.
- 14. Lucene.Net에서 IndexSearcher의 동일한 인스턴스를 여러 스레드가 동시에 사용할 수 있습니까?
- 15. 여러 응용 프로그램이 SQLite 데이터베이스에 액세스 할 수 있습니까?
- 16. 어떻게 여러 사용자가 내 H2 데이터베이스에 동시에 연결할 수 있습니까?
- 17. Java jdbc를 데이터베이스에 삽입 할 수 없습니다.
- 18. 여러 사용자가 동시에 C# .exe 파일에 액세스 할 수 있습니까?
- 19. 여러 Flash 응용 프로그램이 동시에 마이크에 액세스 할 수 있습니까?
- 20. 아이폰 - 두 스레드에서 동시에 sqlite3 데이터베이스에 액세스
- 21. 여러 스레드가 동시에 파일에 데이터를 쓸 수 있습니까?
- 22. 동시에 여러 데이터베이스에 액세스 할 좋은 구현을 찾고
- 23. Lotus Notes 데이터베이스에 액세스 할 수 있습니까?
- 24. 여러 스레드가 동시에 작동하지 않습니다.
- 25. 스레드가 액세스 할 수 없음보기
- 26. VB.NET에서 데이터베이스에 액세스 할 수 있습니까?
- 27. Python : Lock mechansim없이 여러 스레드가 동시에 함수에 액세스
- 28. 여러 활동을 동시에 호출 할 수 있습니까?
- 29. 여러 번 동시에 POST 할 수 있습니까?
- 30. 여러 명이 동시에 플레이 할 수 있습니까?
데이터베이스에 따라 다르지만 각 스레드가 자체 연결을 요청하면 요청을 처리 할 수있을 때까지 DB 엔진이 이러한 요청을 거부/차단할 가능성이 높습니다. 그것은 또한 DB 엔진 기능에 도달 할 것이고, 트랜잭션에 대한 지원처럼 생각할 것입니다. – MadProgrammer