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
99
社内LT2020/01/23
stepanve
0
53
社内LT2019/11/21
stepanve
0
67
社内LT2019/10/24
stepanve
0
74
Other Decks in Programming
See All in Programming
ルールを書いて終わらせないハーネスエンジニアリング
yug1224
2
1.4k
PHP Application における Kubernetes 内 gRPC 通信
ganchiku
0
420
Embedded SREと共に達成した会員管理システムのAWS移行 - SRE NEXT 2026 ランチスポンサーセッション
niftycorp
PRO
1
2.5k
Foundation Models frameworkで画像分析
ryodeveloper
1
120
【やさしく解説 設計編・中級 #6】良いアーキテクチャとは ~ 一本の登り道の、行き先 ~
panda728
PRO
0
160
エンジニアにデザインハーネスを 〜デザインプロセスを規定するためのハーネス〜 / Design harness from an engineer's perspective
rkaga
2
1.5k
Haskell/Servantを通してWebミドルウェアを捉え直す
pizzacat83
1
580
Terraform標準の組織で AWS CDKをどう使うか
mu7889yoon
0
140
ランチタイムLT会3周年!ランチタイムLT会を3年間続けられたお話
y0hgi
1
140
Laravel Boostに学ぶ、AIにPHPを書かせる技術 〜OSSの実装から蒸留するエージェント制御の王道〜
kentaroutakeda
3
410
トークンをケチるな、設計しろ:GitHub Copilotを賢く使うコンテキスト戦略
ochtum
0
320
吝嗇家のためのAI活用 / AI development for miser - ChatGPT + Issue Driven Development
tooppoo
0
190
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
410
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
340
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Building Adaptive Systems
keathley
44
3.1k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
210
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
1.1k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
From π to Pie charts
rasagy
0
230
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.1k
Site-Speed That Sticks
csswizardry
13
1.3k
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; リアルタイム性が求められないような週次レポートのようなものに最適