MySQLdb
mặc định con trỏ tìm nạp toàn bộ kết quả truy vấn cùng một lúc từ máy chủ. Việc chuyển đổi dữ liệu này sang một danh sách các bộ giá trị trong Python có thể tiêu tốn rất nhiều bộ nhớ và thời gian.
Sử dụng MySQLdb.cursors.SSCursor
khi bạn muốn thực hiện một truy vấn lớn và kết quả vô hiệu từ máy chủ tại một thời điểm. Tuy nhiên, lưu ý rằng khi sử dụng SSCursor, không khác có thể thực hiện truy vấn
trên kết nối connection
cho đến khi toàn bộ tập hợp kết quả được tìm nạp.
import MySQLdb
import MySQLdb.cursors as cursors
connection = MySQLdb.connect(
...
cursorclass = cursors.SSCursor)
cursor = connection.cursor()
cursor.execute(query)
for row in cursor:
...
Hoặc, sử dụng ourql , một trình điều khiển Python thay thế cho MySQL. Một trong những tính năng của ourql là nó tìm nạp hàng một cách lười biếng .