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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
greendrop
December 30, 2024
Technology
290
0
Share
知っててうれしい SQL について
greendrop
December 30, 2024
More Decks by greendrop
See All by greendrop
GitHub Actions の設定を少しよくする
greendrop
0
31
リンクからモバイルアプリを起動する技術
greendrop
0
17
知っててうれしい HTTP Cookie を使ったセッション管理について
greendrop
1
290
知っててうれしいリレーショナルデータベースについて
greendrop
0
250
スマホアプリエンジニアでない方へ向けた、スマホアプリ開発に関連するトピック
greendrop
0
220
知っててうれしい HTTP について
greendrop
0
310
知っててうれしい HTTP キャッシュについて
greendrop
0
350
知っててうれしい HTTP Cookie について
greendrop
0
290
知っててうれしいデータベースについて
greendrop
0
300
Other Decks in Technology
See All in Technology
やさしいとこから始めるGitHubリポジトリのセキュリティ
tsubakimoto_s
3
2.1k
OCI技術資料 : ロード・バランサ 概要 - FLB・NLB共通
ocise
4
27k
GitHub Actions侵害 — 相次ぐ事例を振り返り、次なる脅威に備える
flatt_security
11
6.9k
Oracle Cloud Infrastructure:2026年3月度サービス・アップデート
oracle4engineer
PRO
0
220
AIにより大幅に強化された AWS Transform Customを触ってみる
0air
0
230
遊びで始めたNew Relic MCP、気づいたらChatOpsなオブザーバビリティボットができてました/From New Relic MCP to a ChatOps Observability Bot
aeonpeople
1
130
トイルを超えたCREは何屋になるのか
bengo4com
0
110
FASTでAIエージェントを作りまくろう!
yukiogawa
4
180
ブラックボックス化したMLシステムのVertex AI移行 / mlops_community_62
visional_engineering_and_design
1
240
SaaSの操作主体は人間からAIへ - 経理AIエージェントが目指す深い自動化
nishihira
0
130
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
10
77k
RGBに陥らないために -プロダクトの価値を届けるまで-
righttouch
PRO
0
130
Featured
See All Featured
Art, The Web, and Tiny UX
lynnandtonic
304
21k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.4k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.5k
The SEO identity crisis: Don't let AI make you average
varn
0
430
Agile that works and the tools we love
rasmusluckow
331
21k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
310
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.9k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
14k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.4k
BBQ
matthewcrist
89
10k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
230
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