PostgreSQL 16のリリースノートと虎の巻でわいわい言う会(続)
- nuko_yokohama
- 1994
- 4
- 0
- 36
実際のところ、この辺りの JSON の処理をアプリ側でやらずに DB 側でやるケースってどのぐらいあるんだろうか。 #pg16
2023-06-27 20:47:57VACUUMまわりの改善
VACUUM に SKIP_DATABASE_STATS を指定することでなにかデメリットはあるんだろうか? #pg16
2023-06-27 20:50:03手動で VACUUM をする時に SKIP_DATABASE_STATS を付けた方が良いのか、付けない方が良いのかよくわからない。 #pg16
2023-06-27 20:50:58(聞き逃したかもだけど)skip_database_vacuumを駆使すれば統計情報の固定とかできるのかな #pg16
2023-06-27 20:50:59vacuumdbで複数テーブルをVACUUMするときも、PostgreSQL16だと、まずはSKIP_DATABASE_STATSで各テーブルをVACUUMして、最後にONLY_DATABASE_STATSで1回VACUUMしてた気がする。 #pg16
2023-06-27 20:53:12拾ってもらいました。ありがとうございます。大量に VACUUM をする時は SKIP_DATABASE_STATS TRUE を付けておいて、最後に ONLY_DATABASE_STATS TRUE を付けてあげると良いらしいです。なるほど。 #pg16 twitter.com/kota2and3kan/s…
2023-06-27 20:57:29サブクエリのFROM句エイリアス不必須化
みんな怒られて気づくエイリアス付与w
FROM 句のサブクエリのエイリアス名がいらなくなるの地味に便利な気がする。いつもつけ忘れて怒られてから as hoge とか適当に付けてる気がする。 #pg16
2023-06-27 20:54:46実行計画改善
SELECT DISTINCT foo FROM bar とかで、 実行計画が SeqScan → Aggregate だったのが、 Index Only Scan → Aggregate になるというのは、 地味に高速化に寄与しそう。 #pg16
2023-06-27 20:58:39LIST / RANGE パーティションテーブルで、同一パーティションが16回検索された場合、パーティション情報をキャッシュするようになった。 1回のSQL実行で、16回以上検索される場合に発動する、ということのようだ。 (よっぽどのSQLでないと16回もいかない気がするが…) #pg16
2023-06-27 21:02:30なるほどー、1回の実行計画内で16回スキャンされるパーティションテーブルがキャッシュされるということなのか・・・(篠田さん説明) #pg16
2023-06-27 21:01:54SQL関数
未だに結構知らないSQL関数があるのよね・・・
array_sample、array_shuffle、any_valueテストデータとかに使えそう。#pg16
2023-06-27 21:02:22