저는 대량 삽입을 할 수있는 것은 물론, 파이썬 클래스를 기반으로 한 코드를 만들 수있는 ORM을 찾고 있습니다. 나는 sqlobject를 시도했으나, 테이블을 생성하는 데는 문제가 없었지만, 삽입하고자하는 데이터의 양이 너무 느렸다. 그런 ORM이 존재하지 않는다면, 입력을 위생적으로 처리하고 SQL 문자열을 작성하는 것과 같은 것을 도와 줄 수있는 클래스에 대한 어떤 포인터라도 감사 할 것입니다.테이블 생성 및 대량 삽입을 허용하는 파이썬 ORM?
답변
SQLAlchemy을 시도해보십시오.
우리는 SQLAlchemy를 사용하며 테이블 생성 및 대량 삽입에 잘 작동합니다. 데이터베이스 (및 DBAPI)에 따라 SQLQAlchemy에는 대량 삽입을위한 executemany()가 있습니다 (http://www.sqlalchemy.org/docs/05/sqlexpression.html#executing-multiplestatements 참조). – stephan
저는 sqlalchemy에 대량 삽입이 있다고 생각하지만, 사용하지 않았습니다. 그러나 이것은 this reviewer에 따라 벤치 마크 테스트에 유리하게 쌓여 있습니다.
EDIT : SQLAlchemy를 사용하는 방법이 실제 ORM이든 쿼리 코드이든 명확하지 않은 것 같습니다. 블로그 항목을 읽었을 때 ORM과 관련하여 논점이 있다고 생각했지만 몇 명의 의견 작성자는 쿼리 코드를 사용한다고 가정하고 ORM 인 경우 훨씬 느립니다.
저는 sqlobject에 익숙하지 않지만 일괄 삽입의 경우 일반적으로 트랜잭션에서이 작업을 수행하므로 각 조작에 대한 커밋이 필요하지 않습니다.
sqlobject에서 트랜잭션 개체를 사용하여 커밋을 제어 할 수있는 것처럼 보입니다. 이 기능을 제대로 사용하려면 기본 AutoCommit 플래그도 전환해야합니다.
- 1. 테이블 내용 대량 변환
- 2. 루프를 사용하여 데이터 - 대량 삽입을 정규화하십시오.
- 3. 콘텐츠 삽입을 허용하는 무료 CMS를 찾고 있습니다.
- 4. 소켓? 파이썬 -m SimpleHTTPServer
- 5. AppEngine에 파이썬 대량 수출 오류가
- 6. 빠른/대량 액티브 레코드 생성
- 7. 파이썬 : PSP 및 HTML 테이블
- 8. 레코드 필터링 : m 테이블 기준
- 9. 구성 가능한 테이블 접두어 .Net OR/M?
- 10. 대량 삽입 및 "대량 유효성 검사"문제가 있습니다.
- 11. SQL 서버 2008 데이터가 대량 삽입을 통해 준비 테이블에 가져 오면 테이블
- 12. 일괄 처리 또는 대량 삽입을 Linq 2 Sql?
- 13. 나는 일부 파일에서 대량 삽입을 만드는 저장 프로 시저가 문제
- 14. C#을 사용하여 Oracle에 대량 삽입을 수행하려면 어떻게해야합니까?
- 15. 대량 삽입을 만들기 위해 삽입 대기열에 넣는 방법
- 16. OR/M 및 SQL 2008 테이블 값 매개 변수
- 17. mysql 함수에 동적 PHP 삽입을 생성 하시겠습니까?
- 18. 는 m 최적화 방법 : 3 개 테이블
- 19. 테이블 및 저장 프로 시저의 대량 이름 바꾸기
- 20. Mongo는 임시 저장소 (개체 대량 생성 및 삭제)에 적합합니까?
- 21. 다른 스키마가있는 대량 삽입
- 22. 일부 오류를 허용하는 LINQ to SQL이있는 대량 삽입
- 23. 파이썬 다중 처리로 데이터 생성 및 병합
- 24. SQL 서버 2008 - T-SQL에서 일괄 작업 및 대량 삽입을 실행
- 25. MySQL : 테이블 엔진에 대한 대량 변환 스크립트
- 26. MySQL - 데이터베이스, 테이블 및 사용자 생성 자동화
- 27. BLTookit Db 및 테이블 생성 가능
- 28. 데이터베이스 관리 (SQLite) 및 테이블 생성
- 29. MySQL 연결 풀링 및 임시 테이블 생성
- 30. 대량 메일 용 동적 단어 문서 생성
"벌크"와 "ORM"은 일반적으로 함께 사용되지 않습니다. 당신이 대량으로 무엇을 의미 하는가에 달려 있지만, 대부분의 사람들은 ORM을 어렵게 만드는 대량을 생각할 때 원시 SQL을 생각합니다. 무슨 소리 야? 당신이하고 싶은 코드 샘플을 줄 수 있습니까? –
SQLObject는 각 객체가 생성 될 때 데이터베이스에 삽입합니다. 한 번에 많은 오브젝트를 삽입하거나 적어도 다음 트랜잭션으로 가기 전에 각 삽입이 커밋되지 않도록 트랜잭션을 설정하고 싶습니다. – Jared