`productSet` ミューテーションの動的な複雑性コスト

ShopifyのproductSet ミューテーションが、実際の計算コストをより正確に反映した動的な複雑性コストを採用しました。

変更点

すべてのproductSetオペレーションの固定コストが50ポイントから、実際の作業内容に基づく複雑性を計算する方式に変更されました:

  • 基本コスト:10ポイント
  • バリアントごと:0.2ポイント
  • バリアントファイルごと:0.6ポイント
  • バリアントメタフィールドごと:0.4ポイント
  • 製品メタフィールドごと:0.4ポイント
  • 製品ファイルごと:1.9ポイント

全体の複雑性は次のように計算されます: 10 + (variants × 0.2) + (variant_files × 0.6) + (variant_metafields × 0.4) (product_metafields × 0.4) (product_files × 1.9)

アプリに対する利点

ほとんどのオペレーションでのコストダウン:既存のproductSet オペレーションの99.5%以上が、以前の固定コスト50ポイントより低コストになります。以前50ポイントかかっていた簡易製品のアップデートは、今では10〜20ポイントとなります。

大規模な製品への対応:すべてのプランのマーチャントに対して、最大2,048バリアントまでの製品をサポートするようになりました。これは、以前の100バリアントの上限から大幅に増加しています。これにより、アプリはより複雑な製品を管理し、多様なビジネスニーズを持つマーチャントをサポートできます。

単純な製品アップデート(1バリアント、ファイルやメタフィールドなし): - 旧コスト:50ポイント - 新コスト:10ポイント(80%削減)

中程度の複雑性(20バリアント、5製品メタフィールド): - 旧コスト:50ポイント
- 新コスト:16ポイント(68%削減)

複雑な製品(200バリアント、10ファイル、20メタフィールド): - 旧コスト:50ポイント - 新コスト:77ポイント(実際のリソース使用量を反映)

移行ガイダンス

ほとんどのアプリでは変更は必要ありません。既存のproductSet オペレーションは、低い複雑性コストの恩恵を自動的に受けることができます。

1,000ポイントの単一クエリ上限を超える高複雑性の製品と取り組むアプリについては: - 大規模なオペレーションにはバルクミューテーションを使用を検討してみてください。 - 複雑なオペレーションを分割して別々のコールにすることを検討してください。まずproductSetを使用してコア製品データを操作し、次にmetafieldsSetfileCreateを使用して追加データを操作します。

参考記事: Dynamic complexity cost for `productSet` mutation

AUTHOR

Latest Stories

This section doesn’t currently include any content. Add content to this section using the sidebar.