# 【Elixir】EctoクエリをSQLにして取得する方法
> ElixirでEctoを使用している際に、EctoクエリからSQLを取得する方法メモ。
- Canonical: https://c-a-p-engineer.github.io/elixir-ecto-to_sql/
- Published: 2023-09-27T17:40:00.000Z
- Modified: 2023-09-27T17:40:00.000Z
- Categories: Database, Elixir
- Tags: Database, Elixir

ElixirでEctoを使用している際に、EctoクエリからSQLを取得する方法メモ。
このテクニックはデバッグやパフォーマンスチューニングに非常に役立ちます。

## サンプルコード
簡単なサンプルコードです。
必要であれば関数化してデバッグに役立ててください。

```elixir
# Ectoクエリ
query = from u in "users", where: u.id == 1
# EctoクエリからSQLとパラメータを取得
{sql, params} = Ecto.Adapters.SQL.to_sql(:all, MyApp.Repo, query)

# SQL出力
IO.puts("SQL: #{sql}")
# パラメータを出力
IO.puts("Params: #{Enum.join(params, ", ")}")
```

## まとめ
この方法を使用すると、ElixirとEctoで実行された最後のSQLクエリを簡単に取得できます。
これはデバッグやパフォーマンスの最適化に非常に役立つテクニックです。

<a href="https://hexdocs.pm/ecto/Ecto.html" target="_blank" rel="nofollow noopener">Ecto</a>
