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
140
知っててうれしい SQL について
greendrop
December 30, 2024
Tweet
Share
More Decks by greendrop
See All by greendrop
知っててうれしい HTTP Cookie を使ったセッション管理について
greendrop
1
150
知っててうれしいリレーショナルデータベースについて
greendrop
0
130
スマホアプリエンジニアでない方へ向けた、スマホアプリ開発に関連するトピック
greendrop
0
130
知っててうれしい HTTP について
greendrop
0
170
知っててうれしい HTTP キャッシュについて
greendrop
0
160
知っててうれしい HTTP Cookie について
greendrop
0
150
知っててうれしいデータベースについて
greendrop
0
160
Other Decks in Technology
See All in Technology
サーバーレスアーキテクチャと生成AIの融合 / Serverless Meets Generative AI
_kensh
6
780
カスタムインストラクションでGitHub Copilotをカスタマイズ!
07jp27
8
1.6k
BLEAでAWSアカウントのセキュリティレベルを向上させよう
koheiyoshikawa
0
170
Active Directory の保護
eurekaberry
6
3.5k
トレードオフスライダーにおける品質について考えてみた
suzuki_tada
3
250
Bounded Context: Problem or Solution?
ewolff
1
200
High Performance PHP
cmuench
0
120
private spaceについてあれこれ調べてみた
operando
1
220
[2025クラウドガバナンスはこう変わる!マルチアカウント運用のre:Invent最新情報と活用例] re:Invent 2024 から見る AWS マルチアカウントガバナンスのこれまでとこれから
0nihajim
0
110
Grid表示のレイアウトで Flow layoutsを使う
cffyoha
1
160
AIプロダクト開発から得られた知見 - 2025年1月版
takaakikakei
0
150
地方企業がクラウドを活用するヒント
miu_crescent
PRO
1
120
Featured
See All Featured
Code Reviewing Like a Champion
maltzj
521
39k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
Adopting Sorbet at Scale
ufuk
74
9.2k
Six Lessons from altMBA
skipperchong
27
3.6k
A designer walks into a library…
pauljervisheath
205
24k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
1k
Bash Introduction
62gerente
610
210k
A Tale of Four Properties
chriscoyier
158
23k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.8k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7.1k
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