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
160
知っててうれしい 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
[OpsJAWS Meetup33 AIOps] Amazon Bedrockガードレールで守る安全なAI運用
akiratameto
1
140
QAエンジニアが スクラムマスターをすると いいなぁと思った話
____rina____
0
150
Global Databaseで実現するマルチリージョン自動切替とBlue/Greenデプロイ
j2yano
0
170
20250309 無冠のわたし これからどう先生きのこれる?
akiko_pusu
1
130
ライフステージの変化を乗り越える 探索型のキャリア選択
tenshoku_draft
1
100
OPENLOGI Company Profile for engineer
hr01
1
20k
Pwned Labsのすゝめ
ken5scal
2
570
完璧を捨てろ! “攻め”のQAがもたらすスピードと革新/20250306 Hiroki Hachisuka
shift_evolve
0
110
LayerXにおけるAI活用事例とその裏側(2025年2月) バクラクの目指す “業務の自動運転” の例 / layerx-ai-deim2025
yuya4
4
750
開発者体験を定量的に把握する手法と活用事例
ham0215
0
140
30→150人のエンジニア組織拡大に伴うアジャイル文化を醸成する役割と取り組みの変化
nagata03
0
360
MIMEと文字コードの闇
hirachan
2
1.5k
Featured
See All Featured
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
For a Future-Friendly Web
brad_frost
176
9.6k
Making Projects Easy
brettharned
116
6k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
134
33k
The Language of Interfaces
destraynor
156
24k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.2k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
Code Reviewing Like a Champion
maltzj
521
39k
Fontdeck: Realign not Redesign
paulrobertlloyd
83
5.4k
Thoughts on Productivity
jonyablonski
69
4.5k
GitHub's CSS Performance
jonrohan
1030
460k
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