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
データベースの気持ちになろう (ハンズオン)
Search
NearMeの技術発表資料です
PRO
September 09, 2022
Programming
0
800
データベースの気持ちになろう (ハンズオン)
NearMeの技術発表資料です
PRO
September 09, 2022
Tweet
Share
More Decks by NearMeの技術発表資料です
See All by NearMeの技術発表資料です
【Browser Automation × AI】 Stagehandを試してみよう
nearme_tech
PRO
0
36
AIを用いた PID制御で部屋 の温度制御をしてみた
nearme_tech
PRO
0
44
CopilotKit + AG-UIを学ぶ
nearme_tech
PRO
2
200
Tile38 Overview
nearme_tech
PRO
0
59
Rust 製のコードエディタ “Zed” を使ってみた
nearme_tech
PRO
0
550
実践で使えるtorchのテンソル演算
nearme_tech
PRO
0
34
ローカルLLMを⽤いてコード補完を⾏う VSCode拡張機能を作ってみた
nearme_tech
PRO
0
580
初めてのmarimo (ハンズオン)
nearme_tech
PRO
0
52
ローカルLLM
nearme_tech
PRO
0
92
Other Decks in Programming
See All in Programming
API Platformを活用したPHPによる本格的なWeb API開発 / api-platform-book-intro
ttskch
1
150
社内規程RAGの精度を73.3% → 100%に改善した話
oharu121
13
8.2k
技術検証結果の整理と解析をAIに任せよう!
keisukeikeda
0
130
RAGでハマりがちな"Excelの罠"を、データの構造化で突破する
harumiweb
9
2.9k
クライアントワークでSREをするということ。あるいは事業会社におけるSREと同じこと・違うこと
nnaka2992
1
350
[SF Ruby Feb'26] The Silicon Heel
palkan
0
120
メッセージングを利用して時間的結合を分離しよう #phperkaigi
kajitack
2
110
CDIの誤解しがちな仕様とその対処TIPS
futokiyo
0
230
モダンOBSプラグイン開発
umireon
0
160
車輪の再発明をしよう!PHP で実装して学ぶ、Web サーバーの仕組みと HTTP の正体
h1r0
1
160
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
470
Fundamentals of Software Engineering In the Age of AI
therealdanvega
2
260
Featured
See All Featured
Ethics towards AI in product and experience design
skipperchong
2
230
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.7k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
990
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
140
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.5k
How to build a perfect <img>
jonoalderson
1
5.3k
The agentic SEO stack - context over prompts
schlessera
0
700
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.3k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
650
The SEO Collaboration Effect
kristinabergwall1
0
400
sira's awesome portfolio website redesign presentation
elsirapls
0
190
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