(ns dev.explain (:require [clojure.string :as str] [honey.sql :as sql] [toucan2.core :as t2])) | |
Explain a sql query or a honeysql query with option to analyze the query. | (defn explain-query ([queryable] (explain-query queryable false)) ([queryable analyze?] (->> (t2/query (str/join " " (remove nil? ["EXPLAIN" (when analyze? "ANALYZE") "(" (if (map? queryable) (first (sql/format queryable {:inline true})) queryable) ")"]))) (map #(get % (keyword "query plan")))))) |