00 개요
- Python에서 DB와 작업 시, cursor 객체는 SQL 쿼리를 실행하고 데이터를 가져오는 중요한 도구임
- iterate() 메서드는 이러한 cursor 객체에서 사용되는 함수 중 하나로, DB 쿼리 결과를 한 행씩 순차적으로 가져올 수 있도록 도와줌
01 cursor.iterate()란
1. 정의
- cursor.iterate()는 쿼리 결과를 한 번에 모두 가져오는 대신, 한 행씩 순차적으로 처리할 수 있게 해주는 메서드
- 일반적으로 fetchall()이나 fetchmany()와 같은 메서드는 쿼리 결과를 한꺼번에 메모리로 가져오지만, iterate()는 메모리 사용을 최소화하면서도 필요한 데이터만 점진적으로 처리할 수 있게 해줌
2. 예시
- cursor.iterate() 처음 실행 시 반환값은 ['IC_cluster']가 됨, cursor.iterate() 두번째 실행 시 반환값은 []가 됨
- 이유:
- 첫 번째 실행: iterate() 메서드를 통해 쿼리 결과를 순차적으로 가져옴. 첫 번째 호출 시, 결과가 잘 반환되어 리스트에 값이 담감.
- 두 번째 실행: iterate()는 이미 데이터를 모두 순차적으로 처리했기 때문에, 두 번째 호출 시에는 남은 데이터가 없고, 따라서 빈 리스트가 반환되는 것
3. 요약
- cursor.iterate() 메서드는 메모리 효율적으로 데이터를 처리할 때 유용하지만, 쿼리 결과를 한 번 사용하면 다시 사용할 수 없다는 점을 유의해야 함
- 이러한 특성 때문에, 쿼리 결과를 여러 번 사용할 경우, 처음부터 데이터를 모두 메모리에 저장하거나 쿼리를 반복 실행하는 방법을 고려해야 함
- 이러한 특성들을 이해하고 적절히 활용하면, DB 작업 시 더 나은 성능을 얻을 수 있음!
'Python' 카테고리의 다른 글
지역변수, 전역변수 (파이썬 변수 종류) (1) | 2024.09.26 |
---|---|
format() (문자열 포맷팅 파이썬 함수) (0) | 2024.09.11 |
공백 제거 (파이썬 함수) (1) | 2024.08.23 |
subprocess (파이썬 모듈) (0) | 2024.08.23 |
APScheduler (작업 스케줄러 파이썬 라이브러리) (0) | 2024.08.06 |