ホームページ > データベース > mysql チュートリアル > Pandas でメモリ不足にならずに大規模な SQL クエリを処理するにはどうすればよいですか?

Pandas でメモリ不足にならずに大規模な SQL クエリを処理するにはどうすればよいですか?

Barbara Streisand
リリース: 2025-01-13 08:48:42
オリジナル
859 人が閲覧しました

How Can I Handle Large SQL Queries in Pandas Without Running Out of Memory?

パンダと大規模な SQL クエリ: メモリ効率の高いアプローチ

pandas.io.sql.read_frame() を使用して 500 万レコードを超える SQL クエリを処理すると、メモリ エラーが発生する可能性があります。 ただし、pandas は、このような大規模なデータセットを処理するための堅牢なソリューション、つまり、データセットをより小さく管理しやすいチャンクで処理するソリューションを提供します。

pandas バージョン 0.15 以降、read_sql_query() 関数には chunksize パラメーターが組み込まれています。これにより、クエリ結果を繰り返し取得できるようになり、メモリ消費量が大幅に削減されます。 チャンクごとに必要なレコード数を指定すると、大規模なクエリがより小さく、より管理しやすい部分に効果的に分割されます。

たとえば、5,000 レコードのチャンクでクエリを処理するには:

<code class="language-python">sql = "SELECT * FROM MyTable"
for chunk in pd.read_sql_query(sql, engine, chunksize=5000):
    # Process each chunk here (e.g., calculations, analysis, etc.)
    print(chunk) </code>
ログイン後にコピー

この反復的なアプローチにより、データセット全体を同時にメモリに読み込むことが回避されます。 各チャンクは個別に処理されるため、メモリ フットプリントが最小限に抑えられ、非常に大規模なデータセットであっても、pandas DataFrame 内で効率的なデータ操作が可能になります。 chunksize パラメータは、大量の SQL クエリを効率的に処理し、メモリの枯渇を防ぐための鍵となります。

以上がPandas でメモリ不足にならずに大規模な SQL クエリを処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート