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
知っててうれしい SQL について
Search
greendrop
December 30, 2024
Technology
0
170
知っててうれしい SQL について
greendrop
December 30, 2024
Tweet
Share
More Decks by greendrop
See All by greendrop
知っててうれしい HTTP Cookie を使ったセッション管理について
greendrop
1
170
知っててうれしいリレーショナルデータベースについて
greendrop
0
150
スマホアプリエンジニアでない方へ向けた、スマホアプリ開発に関連するトピック
greendrop
0
140
知っててうれしい HTTP について
greendrop
0
200
知っててうれしい HTTP キャッシュについて
greendrop
0
190
知っててうれしい HTTP Cookie について
greendrop
0
180
知っててうれしいデータベースについて
greendrop
0
190
Other Decks in Technology
See All in Technology
MIMEと文字コードの闇
hirachan
2
1.5k
AWSアカウントのセキュリティ自動化、どこまで進める? 最適な設計と実践ポイント
yuobayashi
7
1.8k
エンジニア主導の企画立案を可能にする組織とは?
recruitengineers
PRO
1
310
マルチアカウント環境における組織ポリシーについて まとめてみる
nrinetcom
PRO
2
110
貧民的プログラミングのすすめ
kakehashi
PRO
1
160
AIエージェント入門
minorun365
PRO
34
20k
Oracle Database Technology Night #87-1 : Exadata Database Service on Exascale Infrastructure(ExaDB-XS)サービス詳細
oracle4engineer
PRO
1
220
EMConf JP 2025 懇親会LT / EMConf JP 2025 social gathering
sugamasao
2
210
どうすると生き残れないのか/how-not-to-survive
hanhan1978
2
410
QAエンジニアが スクラムマスターをすると いいなぁと思った話
____rina____
0
170
AIエージェント時代のエンジニアになろう #jawsug #jawsdays2025 / 20250301 Agentic AI Engineering
yoshidashingo
9
4.2k
RaspberryPi CM4(CM5も)面白いぞ!
nonnoise
1
170
Featured
See All Featured
Scaling GitHub
holman
459
140k
Thoughts on Productivity
jonyablonski
69
4.5k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
40
2k
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.5k
Writing Fast Ruby
sferik
628
61k
KATA
mclloyd
29
14k
Done Done
chrislema
182
16k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
For a Future-Friendly Web
brad_frost
176
9.6k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
Why Our Code Smells
bkeepers
PRO
336
57k
Transcript
知っててうれしい SQL について 2024/12/31 貞元勝幸 1
目次 SQL について SQL の種類 SQL が実行される流れ まとめ ※ SELECT
文など SQL の具体的な記述方法については触れません。 目次 2
SQL について SQL (Structured Query Language )は、リレーショナルデータベース (RDB) を操作するための言語です。 ISO
で標準化されており、様々なデータベース管理システムで利用さ れています。 しかし、データベース管理システムによっては、SQL の標準に準拠し ていない部分もあります。 そのため、データベース管理システムによって使用できる・できない SQL があることに注意が必要です。 SQL について 3
SQL の種類 SQL には、以下のような種類があります。 DDL (Data Definition Language ) DML
(Data Manipulation Language ) DCL (Data Control Language ) SQL の種類 4
DDL (Data Definition Language ) DDL は、データベースの構造を定義するための言語です。 主に以下のようなものがあります。 CREATE DATABASE,
CREATE TABLE, CREATE INDEX, CREATE VIEW ALTER DATABASE, ALTER TABLE, ALTER VIEW DROP DATABASE, DROP TABLE, DROP INDEX, DROP VIEW TRUNCATE TABLE SQL の種類 - DDL 5
DML (Data Manipulation Language ) DML は、データを操作するための言語です。 主に以下のようなものがあります。 SELECT INSERT
UPDATE DELETE SQL の種類 - DML 6
DCL (Data Control Language ) DCL は、データベースに対する権限の設定するための言語です。 主に以下のようなものがあります。 GRANT REVOKE
SQL の種類 - DCL 7
DDL, DML, DCL とトランザクションの関係 トランザクションは、DML をまとめて処理し、データの整合性を保つ ための仕組みです。 トランザクション中に DDL や
DCL を実行すると、トランザクション がコミットされる RDB もあります。 そのため、トランザクション中は DML のみを実行するように注意が 必要です。 特に TRUNCATE TABLE は DDL に分類されるため、注意してくださ い。 DDL, DML, DCL とトランザクションの関係 8
SQL が実行される流れ SQL は RDB の中で以下のような流れで実行されます。 1. SQL の解析 2.
SQL の実行計画の作成 3. SQL の実行 SQL が実行される流れ 9
SQL の解析 SQL は、まず構文解析されます。 構文解析によって、SQL の文法が正しいかどうかがチェックされま す。 SQL の文法が正しくない場合、エラーが発生します。 SQL
が実行される流れ - SQL の解析 10
SQL の実行計画の作成 SQL の実行計画は、SQL を実行するための手順を示します。 実行計画を作成する際には、インデックスや統計情報などが参照され ます。 実行計画が作成されると、SQL が実行される準備が整います。 ここで作成された実行計画が、意図したものであるかどうかを確認す
ることが重要です。 パフォーマンスの問題が発生する場合、実行計画を見直すことで改善 できることもあります。 SQL が実行される流れ - SQL の実行計画の作成 11
SQL の実行 SQL の実行は、実行計画に従って行われます。 実行中には、ロックやトランザクションの制御などが行われます。 SQL の実行が完了すると、結果が返されます。 結果はメモリや内部の一時領域に保持されるため、大量のデータを取 得する場合は注意が必要です。 DISTINCT
や ORDER BY, UNION などの処理を行うと、一時領域の使 用量が増えるため、パフォーマンスに影響が出ることもあります。 SQL が実行される流れ - SQL の実行 12
まとめ SQL は、RDB を操作するための言語 SQL には DDL, DML, DCL があり、それぞれ異なる役割を持つ
SQL は RDB の中で解析、実行計画の作成、実行される まとめ 13
ご清聴ありがとうございました。 14