Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
データベースの気持ちになろう (ハンズオン)
Search
NearMeの技術発表資料です
PRO
September 09, 2022
Programming
820
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
データベースの気持ちになろう (ハンズオン)
NearMeの技術発表資料です
PRO
September 09, 2022
More Decks by NearMeの技術発表資料です
See All by NearMeの技術発表資料です
AIエージェントのための 隔離された安全なインフラ設計
nearme_tech
PRO
0
23
Claude Code × git worktree で並列開発 (続き) -差分のサービスだけを併設する-
nearme_tech
PRO
1
69
Claude Code × git worktree で並列開発 — サブモジュール構成のリポジトリで成立させる —
nearme_tech
PRO
0
79
LLM + 強化学習
nearme_tech
PRO
0
37
PosthogのA/Bテスト機能の紹介
nearme_tech
PRO
1
110
AIフレンドリーなプロダクトに向けて
nearme_tech
PRO
2
71
初めてのLean言語
nearme_tech
PRO
0
110
Apache Airflow Workflow orchestration without turning cron into spaghetti
nearme_tech
PRO
2
50
実務で役立つ幾何学 ボロノイ図の基礎から グラフ・ネットワーク応用まで
nearme_tech
PRO
1
93
Other Decks in Programming
See All in Programming
作れる、でも消せるか?──安全に「枯らして消す」機能削除術 / Drain, Then Delete
chobishiba
2
780
Next.js: The final boss of Web Performance
guaca
0
280
最近”作らせてる” ローカルAIアプリの話
akit37
0
480
[JA] Domain Modeling with Vanilla Rails: 「操作」から再考するRailsの設計論
yasaichi
2
410
Web Framework Benchmark Battle 2026, Any%
a_matsuda
2
2.3k
The Rails Doctrine Decade
koic
2
590
AWSに止められる覚悟してますか?
morizo_1984
2
540
TechTown - Creating Composable Callables in Contemporary C++
rollbear
0
130
AWS CDKのカスタムリソースでContinuum(旧Security Agent)を実装した話 | Implementing Continuum (formerly Security Agent) via AWS CDK Custom Resource
akihisaikeda
2
150
[ハンズオン]AIへの指示だけで「五目並べ」を作ってみよう
satoshi256kbyte
1
380
AI時代のコードレビューは人に向けるな、仕組みに向けろ
texmeijin
5
3.7k
Rでドレミ/Do-Re-Mi_with_R
florets1
0
130
Featured
See All Featured
Visualization
eitanlees
153
17k
New Earth Scene 8
popppiees
4
2.7k
30 Presentation Tips
portentint
PRO
1
430
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
630
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
550
From π to Pie charts
rasagy
1
400
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
330
What does AI have to do with Human Rights?
axbom
PRO
1
2.5k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2.1k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Transcript
0 データベースの気持ちになろう (ハンズオン) 2022-09-07 第13回NearMe技術勉強会 Kenji Hosoda
1 こちらのNotebookでハンズオンします https://gist.github.com/kenji4569/b0523114f4b0b4a30a911c0e864c70a4
2 下準備 • JupyterLabの起動 • Docker Engineのインストール • MySQLコンテナの起動 •
MySQLへの接続 ◦ テーブルの作成 ◦ レコードの挿入 ◦ レコードの選択
3 3 よく使う調査コマンド • SHOW CREATE TABLE でテーブル定義の表示 • EXPLAINでSQLの実行計画を表示
4 4 インデックスがどう効くか確認 • 100000件のレコード挿入 • インデックスを貼ってないフィールドによって1レコードを取得した時の実行時間を確認 • 200000件、300000件の場合、実行時間はどう増えるか? •
ID(プライマリキー)によって1レコードを取得した時はどうなるか? • インデックスを貼ると検索時間はどう変わるか? id name 1 一郎 2 二郎 3 三郎 プライマリキー B+ツリー クラスタインデックス (リーフ=”レコード”) セカンダリインデックス (リーフ=プライマリキーの値) リーフ
5 5 マルチカラムインデックスの挙動を確認 • 複数のフィールドによって1つのレコードを取得 • 片方のフィールドだけインデックスを貼って実行時間を確認 • マルチカラムインデックスを貼って実行時間を確認 •
片方のフィールドで絞り込んでオフセットを指定してレコードを取得した場合の実行時間を確認 id last_name first_name 1 一山 一郎 2 一山 二郎 3 二山 一郎
6 6 ソートを加えた時の挙動を確認 • インデックスが効く場合 • ファイルソートが発生する場合 • 片方のフィールドで絞り込んでソートした場合 •
マルチカラムインデックスではなく片方のフィールドだけインデックスを貼った場合
7 7 テーブル結合時のインデックスの挙動を確認 • 基本的なテーブル結合の説明(INNER JOIN、LEFT JOIN) • 結合時にインデックスが効いている場合 •
結合時にインデックスが効いてない場合 出典:https://www.codeproject.com/articles/33052/visual-representation-of-sql-joins
8 Thank you