ORACLEでの経験を元に書いていますがコストベースのリレーショナルデータべースなら全般的に共通の考え方で対応できると思います。 SQLのチューニングといえば比較的容易に済むインデックスをとりあえず作成する。といった対応を取られがちですが、数万レコード程度でのデータ量ではあまり効き目がなく、またインデックスを乱立すると複数の条件がある時などにオプティマイザが誤作動を起こす要因ともなります。よって本当にインデックスがないことが原因なのか?を熟考する必要があります。 基本的にルールベースと違いコストベースになるのでオプティマイザによって作成される実行計画が望み通りの計画になっているのかを見ながらチューニングしていく必要があります。 今まで見てきた遅いSQLはとんでもない結合順や使用されるインデックスがなんでここから?といった実行計画になっていた事が大半でした。 そういう時に正しい実行計画をオプ
![SQLチューニング~お手軽に使えるヒント句まで - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/5b3bcc56a687bf4a45ff416048dadd0b0818d9f2/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-1150d8b18a7c15795b701a55ae908f94.png%3Fixlib%3Drb-1.2.2%26w%3D1200%26mark%3Dhttps%253A%252F%252Fqiita-user-contents.imgix.net%252F~text%253Fixlib%253Drb-1.2.2%2526w%253D840%2526h%253D380%2526txt%253DSQL%2525E3%252583%252581%2525E3%252583%2525A5%2525E3%252583%2525BC%2525E3%252583%25258B%2525E3%252583%2525B3%2525E3%252582%2525B0%2525EF%2525BD%25259E%2525E3%252581%25258A%2525E6%252589%25258B%2525E8%2525BB%2525BD%2525E3%252581%2525AB%2525E4%2525BD%2525BF%2525E3%252581%252588%2525E3%252582%25258B%2525E3%252583%252592%2525E3%252583%2525B3%2525E3%252583%252588%2525E5%25258F%2525A5%2525E3%252581%2525BE%2525E3%252581%2525A7%2526txt-color%253D%252523333%2526txt-font%253DHiragino%252520Sans%252520W6%2526txt-size%253D54%2526txt-clip%253Dellipsis%2526txt-align%253Dcenter%25252Cmiddle%2526s%253D5a49dbc59e4cefed1ebdfde79c1038a8%26mark-align%3Dcenter%252Cmiddle%26blend%3Dhttps%253A%252F%252Fqiita-user-contents.imgix.net%252F~text%253Fixlib%253Drb-1.2.2%2526w%253D840%2526h%253D500%2526txt%253D%252540kite_999%2526txt-color%253D%252523333%2526txt-font%253DHiragino%252520Sans%252520W6%2526txt-size%253D45%2526txt-align%253Dright%25252Cbottom%2526s%253Dce7b484a257b63d605308c68988a9768%26blend-align%3Dcenter%252Cmiddle%26blend-mode%3Dnormal%26s%3Dfecbe87a967fa16c5ad68ce1b25722fe)