MySQL INSERT ステートメントのクエリ サイズ制限
MySQL で INSERT ステートメントを実行する場合、潜在的なサイズ制限を考慮することが重要です。この記事では、単一の INSERT ステートメントに含めることができる行とバイトの最大数を決定する要素について説明します。
行数の制限
MySQL では、行数の制限が強制されません。 「INSERT ... SELECT」パターンを使用して挿入できる行数の制限。これにより、ソース データが他のテーブルに存在すると仮定すると、無限に多数のレコードを挿入できます。
サイズ制限
ただし、「INSERT . .. VALUES" パターンを使用して値をハードコードする場合、"max_allowed_packet" 構成変数によって課される制限があります。この変数は、クライアントからデータベース サーバーに送信される SQL ステートメントの最大許容サイズを設定します。サイズ制限は、INSERT ステートメントを含むすべてのタイプのクエリに適用されます。
「max_allowed_packet」の適切な値を決定するには、次の要素を考慮してください:
ほとんどのアプリケーションでは、デフォルト値の 4MB で十分です。ただし、パケット サイズの制限によりエラーが発生した場合は、必要に応じて値を増やすことができます。
したがって、「INSERT ... SELECT」パターンを使用して挿入できる行の数は実質的に無制限になります。 、「INSERT ... VALUES」パターンを使用した INSERT ステートメントの最大サイズは、「max_allowed_packet」構成変数によって制限されます。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3