メインコンテンツへスキップ

円周率の日!SQLで円周率を計算してみよう

円周率の日おめでとうございます!ClickHouseのSQLクエリで円周率を計算したら面白そうだと思い、実際に試してみました。現時点での結果をご紹介します…
  1. これは ClickHouse の numbers_mt テーブル関数を使って 10億行を返し、その計算もわずか 40ms で完了します:
  1. 以下の例でも10億個の数値を処理できますが、これほど速くはありません:
  1. これは、ClickHouse で私たちがいちばん気に入っている方法であり (しかも最も正確です!) :
  1. これは、三角法をよくわかっている人が作ったものですね。
  1. 必要な桁数を指定できる便利な API はこちらです:
  1. これは巧妙です - ClickHouseの距離関数を使っています:
  1. 物理学者なら、これで満足できるでしょう:
  1. もう1つの間接的な方法 (Alexey Milovidov によるもの) があります。これは小数点以下7桁まで正確で、しかも高速です:
ほかにもあれば、ぜひお寄せください。ありがとうございます!
最終更新日 2026年7月2日