scv파일 중 특정 컬럼 값들의 대량 대이터 삽입의 방법을 고민하고있다
pymysql을 사용하지 못해서 sql 파일을 만들고 파일을 서버에 올린뒤 DB에 저장하는 식으로 진행하였다
1. 다중 insert문을 사용
다중 insert문을 사용하였을 때의 문제점은 중복값의 처리를 하기위해 ON DUPLICATE KEY UPDATE를 사용할 수 없었다.
많은 데이터를 입력하기 때문에 파일 작성시 오류가 발생함
2. row당 1개의 insert문 사용
중복값 처리는 할 수 있지만 속도가 너무 느리고 1번과 마찬가지로 파일작성할때 오류가 발생할 수 있음
3. LOAD DATA INFILE문 사용
빠르게 데이터를 삽입할 수 있지만 중복값 처리가 불가능 하다
pymysql이 안되는게 연결시 timeout이 서버에서 직접 DB로 접근하면 또 된다
네트워크 쪽은 잘몰라서 이것도 해결해야한다.
2024-02-26
pymysql이 안되는 이유를 알게 되었다. 서버의 포트가 막혀서 불가능 했다
그래서 우회해서 들어가는 방법을 알게되었다.
sshtunnel을 이용하여 로컬과 서버를 bind하여서 접속하였다.
반응형
'python' 카테고리의 다른 글
[Python] 파일 입력 모듈 : fileinput (0) | 2024.03.07 |
---|---|
URL parsing하는 법(urlparse) (0) | 2024.02.26 |
MYSQL 백업 (0) | 2024.02.23 |
02/19 정리 모듈(halo, schedule) 등 (1) | 2024.02.21 |
02/16 response 데이터 처리(문자열 처리) (0) | 2024.02.19 |