「パーティションを使用しよう、ルーク!SQLクエリの最適化に役立つシンプルで実証済みの方法」

「パーティションの活用方法!ルークによるシンプルで実証済みのSQLクエリ最適化テクニック」

SQLクエリが実行に時間がかかることがあるなら、この記事はあなたにぴったりです

ベイビーヨーダはパーティションが大好き。あなたはどうですか? Victor Serbanによる画像、Unsplash

データサイエンティストはSQLが大好きですが、効率的なクエリの作成には苦手意識があります(おそらく「エスキューエル」と発音するか、「シークエル」と発音するかについて議論する時間が長すぎるせいかもしれません)。

この記事では、SQLパーティションを使用してクエリの最適化と実行時間の短縮を行う方法を紹介します。SQLの基本をマスターし、より高度なデータサイエンスのスキルを開放したい場合は、この記事はあなたのツールキットに素晴らしい追加になるでしょう。

パーティションされたテーブルとは何ですか?

パーティションされたテーブルとは、テーブルがセグメントまたはパーティションに分割されるテーブルのことです。

パーティションされたテーブルでは、各セグメントがサーバー上の異なる場所に格納されます。これは通常の(パーティションされていない)SQLテーブルとは異なり、テーブル全体が単一の場所にあるわけではありません。

以下の例は、私のお気に入りの3冊の本の日別販売データのダミーデータを使用して比較されています:

著者による画像

パーティションされていないテーブルとパーティションされたテーブルは同じデータを保持していますが、パーティションされたテーブルはデータを異なるセグメントに分割しています。それはまだ単一のテーブルです(つまり、別々の3つのテーブルではありません)。ただし、データを異なる方法で格納しているだけです。

なぜこれが重要なのかというと、すぐに見るように、この構造を利用して効率的なSQLクエリを作成することができるからです。

パーティションされたテーブルの作成

パーティションされたテーブルを作成するのは簡単です。

例えば、次のコードを使用して通常の(パーティションされていない)テーブルを作成する場合…

CREATE TABLE `myproject.mydataset.unpartitioned` (  date DATE,   book_name STRING,  total_sales INT64);INSERT INTO `myproject.mydataset.unpartitioned`VALUES  ('2023-12-01', 'Shoe Dog', 154),  ('2023-12-01', 'Born to Run', 90),  ('2023-12-02', 'Running with the…

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more