Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
社内LT2019/11/7
Search
Kento Matsumoto
November 07, 2019
Programming
86
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
社内LT2019/11/7
Kento Matsumoto
November 07, 2019
More Decks by Kento Matsumoto
See All by Kento Matsumoto
ストーリーポイント.pdf
stepanve
0
98
社内LT2020/01/23
stepanve
0
53
社内LT2019/11/21
stepanve
0
67
社内LT2019/10/24
stepanve
0
73
Other Decks in Programming
See All in Programming
A2UI という光を覗いてみる
satohjohn
1
120
Technical Debt: Understanding it Rightly, Engaging it Rightly #LaravelLiveJP
shogogg
0
210
CLIであることを活かしたGitHub Copilot CLI活用術 / GitHub Copilot CLI Pro Tips & Tricks
nao_mk2
1
1.2k
脅威をエンジニアリングの糧にして――現場編 / Turning Threats into Engineering Fuel — Field Edition
nrslib
0
270
代数的データ型って何が嬉しいの? #frontend_phpcon_do
kajitack
8
3.3k
JavaDoc 再入門
nagise
0
310
スマートグラスで並列バイブコーディング
hyshu
0
120
Spring Security 実践 ─ GraphQL APIで実務に役立つ 認証・認可 を学ぶ
wagyu
0
210
JJUG CCC 2026 Spring: JSpecify で実現する Kotlin フレンドリーな Java API 設計
ternbusty
1
160
Make SRE Operations Easier with Azure SRE Agent
kkamegawa
0
5.2k
並列実装の現場、2ヶ月間実務でAIを使い倒したAIもPCも私も限界が近い
ming_ayami
0
120
その問い、本当に正しいですか?AI時代のエンジニアに必要な哲学と認知科学 / ai-philosophy-cognitive-science
minodriven
5
3.6k
Featured
See All Featured
Reality Check: Gamification 10 Years Later
codingconduct
0
2.2k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
860
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Testing 201, or: Great Expectations
jmmastey
46
8.2k
Leo the Paperboy
mayatellez
7
1.8k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
65
56k
Marketing to machines
jonoalderson
1
5.4k
4 Signs Your Business is Dying
shpigford
187
22k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
610
Art, The Web, and Tiny UX
lynnandtonic
304
22k
エンジニアに許された特別な時間の終わり
watany
107
250k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
65
55k
Transcript
PostgreSQLの便利な機能 社内勉強会:2019/11/7
テーブルとスキーマについて -- スキーマ作成 CREATE SCHEMA schema1; -- テーブル作成 CREATE TABLE
schema1.table( Id INTEGER ); -- スキーマの優先順位の調べ方 show search_path; Postgresには、データベースの中にスキーマという概念が存在する ※MySQLの場合、データベースとスキーマは同じ概念である DB1 DB2 schema1 table table schema1 同一DBに同じテー ブル名が作れる。 スキーマを指定せず に使用する場合 search_pathの順番 で検索される。
スキーマの目的 •1つのデータベースを多数のユーザが互いに干渉することなく使用できるようにする ため。 • 管理しやすくなるよう、データベースオブジェクトを論理グループに編成するため •サードパーティのアプリケーションを別々のスキーマに入れることにより、他のオブ ジェクトの名前と競合しないようにするため。 引用:https://www.postgresql.jp/document/9.4/html/ddl-schemas.html データベース内のアクセス権限を管理しやすくするため
式インデックス Indexに式を設定することができる。(ユニークキーとしても可能) -- インデックス作成 CREATE INDEX users_lower_id_idx ON users (lower(id));
-- 検索 EXPLAIN SELECT * FROM users WHERE lower(id) = '1'; * 省略 " -> Bitmap Index Scan on users_lower_id_idx (cost=0.00..4.53 rows=33 width=0)" Index Cond: (lower((id)::text) = '1'::text)
Materialized View - SQLの状態を保存することができる - 直接更新できない - 更新するタイミングを指定する必要がある (REFRESH MATERIALIZED
VIEW viewtable;) - Viewの場合、テーブルの内容を常に反映させるが、一度保存したものを使い回すため、リ ソースを使わないで済む (高速化)。 -- Materialized View 作成 CREATE MATERIALIZED VIEW viewtable AS SELECT * FROM users ORDER BY id LIMIT 10; -- Materialized View 更新 REFRESH MATERIALIZED VIEW viewtable; リアルタイム性が求められないような週次レポートのようなものに最適