Büyük bir sonuç kümesiyle uğraşmalıyım (bazen yüzlerce satır olabilir, bazen daha fazla).
Maalesef hepsi bir kerede (başlangıçta) alınmaları gerekiyor.MySQLDB SScursor nasıl kullanılır?
Bunu mümkün olduğunca az bellek kullanarak yapmaya çalışıyorum.
SO baktığımda, aradığım şey SSCursor
kullanıyor olabilir, ancak tam olarak bunları nasıl kullanacağımı gerçekten bilmiyorum.
Bir temel imleç veya bir SScursor'dan aynı şekilde (bellek kullanımı açısından) bir fetchall()
mu yapıyorsunuz?
Sscursor satırlarımdan birini tek tek (ya da birkaçını birkaç) aktarabilir miyim? Evet ise
bunu yapmanın en iyi yolu nedir?
Sanırım aradığım şey buydu, teşekkürler – Sylvain
Bu satır tek tek mi getiriyor? Değilse, bu sefer kaç tane satır alır. 37 milyondan fazla kaydı olan bir db var. Kayıtları tek tek okumalı ve bir dosyaya koymalıyım (bazı ek şeylerle basit bir dökümü olamaz). Bu bir şekilde paralel olarak yapılabilir. Mesela, 10000 satır yazıyor ve yazarken bazı satırlar getiriliyor ve bu şekilde devam ediyor .. – Sohaib
@Sohaib: Her seferinde bir satır getiriyor. Sorununuz CPU'ya bağlıysa, birden çok DB okuyucuyu ayarlamak için çoklu işlem (Python2/3) veya concurrent.futures (Python3'te) kullanabilirsiniz, ancak dosyaya yalnızca bir yazar kullanmalısınız, aksi halde kayıtlar bozuk. [Sorununuz IO-bağlıysa] (http://eli.thegreenplace.net/2012/01/16/python-parallelizing-cpu-bound-tasks-with-multiprocessing/) - eğer dosyaya yazıyorsanız darboğaz - daha sonra birden fazla okuyucu ayarlayarak işi hızlandırmaz. – unutbu