SlideShare a Scribd company logo
1 of 61
Copyright © 2013 TriFort, Inc. All Rights Reserved.
MySQL勉強会
〜基礎編〜
技術統轄本部
大谷 祐司
Copyright © 2013 TriFort, Inc. All Rights Reserved.
MySQL勉強会
TriFortで標準DBとして採用されているMySQL。
基本的な内容から応用的な内容まで、幅広く
お届けしたいと思います。
Copyright © 2013 TriFort, Inc. All Rights Reserved.
アジェンダ
・MySQLの概要
・バージョンと新機能
・インデックスについて
・知っておきたいSQL
Copyright © 2013 TriFort, Inc. All Rights Reserved.
MySQLの概要
Copyright © 2013 TriFort, Inc. All Rights Reserved.
世界で一番使われている
オープンソース・データベース
Copyright © 2013 TriFort, Inc. All Rights Reserved.
MySQLの運営組織
1995年:MySQL ABによってリリース
2008年:サン・マイクロシステムズがMySQL AB買収
2009年:オラクルがサン・マイクロシステムズ買収
現在は、オラクルがMySQLを開発している。
Copyright © 2013 TriFort, Inc. All Rights Reserved.
MySQLのfork「MariaDB」の台頭
Fedora19がリリース。
デフォルトのDBがMySQLからMariaDBに変更されました。
2013年7月
Copyright © 2013 TriFort, Inc. All Rights Reserved.
GoogleもMariaDB採用へ
社内データベースにMariaDB 10.0 を採用している。
GoogleがMariaDB Foundationに開発者を派遣。
Copyright © 2013 TriFort, Inc. All Rights Reserved.
MySQLの歴史
Copyright © 2013 TriFort, Inc. All Rights Reserved.
1995年5月
最初のバージョンがリリース。
Copyright © 2013 TriFort, Inc. All Rights Reserved.
2003年3月
バージョン4.0プロダクション版
リリース
Copyright © 2013 TriFort, Inc. All Rights Reserved.
・クエリキャッシュ
・バルクインサート
・InnoDBストレージエンジン
・SQL:TRUNCATE文
・SQL:UNION文
・SET文が使えるようになった
・複数テーブルのDELETE/UPDATE
・FOUND_ROWS
Copyright © 2013 TriFort, Inc. All Rights Reserved.
2004年10月
バージョン4.1プロダクション版
リリース
Copyright © 2013 TriFort, Inc. All Rights Reserved.
・サブクエリのサポート
・SQL:CREATE TABLE XXX LIKE XXX
・SSL 接続を介したレプリケーション
・SQL:ON DUPLICATE KEY UPDATE
・1度に複数クエリの実行
・GROUP_CONCAT()関数
Copyright © 2013 TriFort, Inc. All Rights Reserved.
2005年10月
バージョン5プロダクション版
リリース
Copyright © 2013 TriFort, Inc. All Rights Reserved.
・ストアドプロシージャ
・VARCHARの255文字以上対応
Copyright © 2013 TriFort, Inc. All Rights Reserved.
2008年11月
バージョン5.1プロダクション版
リリース
Copyright © 2013 TriFort, Inc. All Rights Reserved.
・テーブルのパーティショニング
・行ベースのレプリケーション
・プラグインAPI
・イベント スケジューラ
・サーバログテーブル
・テーブルスペースのバックアップ(mysqldump)
・INFORMATION_SCHEMAに対する改良
Copyright © 2013 TriFort, Inc. All Rights Reserved.
2010年12月
バージョン5.5プロダクション版
リリース
Copyright © 2013 TriFort, Inc. All Rights Reserved.
・標準ストレージエンジンがInnoDBに変更。
・InnoDBの大幅な改善
・準同期レプリケーション
・レプリケーションの改善
・4バイトUTF-8対応
・RANGE/LISパーテショニング
Copyright © 2013 TriFort, Inc. All Rights Reserved.
2013年2月
バージョン5.6プロダクション版
リリース
Copyright © 2013 TriFort, Inc. All Rights Reserved.
InnoDB
・インデックス追加/削除がオンラインで可能
・全文検索機能
・.ibdファイルのエクスポート・インポート
・ページサイズの指定(4k/8k/16k)
・memcachedプロトコルでアクセス
・インデックス統計情報の改善
・InnoDBのログサイズ最大が4G⇒512G
・デッドロック検出機能の改善
・SQL:START TRANSACTION READ ONLY
Copyright © 2013 TriFort, Inc. All Rights Reserved.
レプリケーション
・SLAVEのマルチスレッド化
・GTIDでSLAVEの自動昇格が可能
・SLAVEがクラッシュセーフに。
・遅延レプリケーション
・SLAVEが使用するNICの指定
・バイナリログにチェックサムの付与
Copyright © 2013 TriFort, Inc. All Rights Reserved.
オプティマイザ
・サブクエリの改善
・UPDATE/DELETE/INSERTなどもexplain可能に
・ORDER BY ... LIMITのパフォーマンス改善
・パーティションの上限が1024⇒8192に増加
・パーティションをテーブル間で移動
・クエリ実行時にパーティションを指定できる
Copyright © 2013 TriFort, Inc. All Rights Reserved.
インデックスの理解
Copyright © 2013 TriFort, Inc. All Rights Reserved.
質問:インデックスを使うメリットは
何でしょうか?
Copyright © 2013 TriFort, Inc. All Rights Reserved.
答え:レコードの絞り込みを高速に行える。
Copyright © 2013 TriFort, Inc. All Rights Reserved.
質問:インデックスを使うデメリットは
何でしょうか?
Copyright © 2013 TriFort, Inc. All Rights Reserved.
答え:更新が遅くなる。
使いすぎるとメモリを圧迫する。
Copyright © 2013 TriFort, Inc. All Rights Reserved.
インデックスとは何か
メモリに該当レコードの位置を保存して、高速にアクセ
スできるようにしています。
メモリはHDDの10万倍程度早いので、高速な検索を実現し
ています。
Copyright © 2013 TriFort, Inc. All Rights Reserved.
インデックスの種類
質問:MySQLにはどのようなインデックスが
存在するでしょうか?
Copyright © 2013 TriFort, Inc. All Rights Reserved.
・PRIMARY KEY
⇒テーブルのレコードを一意に特定
・セカンダリインデックス
⇒PK以外のインデックス
・ユニークインデックス
⇒特定のカラムで同じ値が一度しか出現しな
くなる(NULLは除く)
Copyright © 2013 TriFort, Inc. All Rights Reserved.
・空間インデックス(SPATIAL)
⇒緯度軽度などの空間情報を扱うのに利用。R-tree。
・FULLTEXT
⇒全文検索用のインデックス。MySQL5.6からInnoDBで
使用可能になりました。
Copyright © 2013 TriFort, Inc. All Rights Reserved.
100万レコードの検索
⇒全てのレコードを順番に読んで、100万回のレコード
チェックを行う。
インデックスを使用しないと・・
Copyright © 2013 TriFort, Inc. All Rights Reserved.
ヘッダブロック、ブランチブロックで値を検索し、
リーフブロックでレコードの位置を特定します。
B-tree indexの概要
Copyright © 2013 TriFort, Inc. All Rights Reserved.
・どのようなキー値でも同一の速度が期待できる。
・大量データでも良いパフォーマンスが期待できる。
・主キーでの検索が非常に高速
・セカンダリインデックスの検索は遅くなる
⇒リーフブロックには主キーの位置が格納
B-tree インデックスの特徴
Copyright © 2013 TriFort, Inc. All Rights Reserved.
複合インデックスについて
質問:2つ以上のカラムにインデックスを張るとき、
気をつけるポイントは何でしょうか?
Copyright © 2013 TriFort, Inc. All Rights Reserved.
・どのように検索されるかを考慮する。
A, AB で検索される場合にはA⇒Bの順番。
B, BA で検索される場合にはB⇒Aの順番。
・カーディナリティ(値の分散)を考慮する。
Aが3つのデータ、Bが1000のデータで構成され
ている場合、Bを先に持ってくる。
Copyright © 2013 TriFort, Inc. All Rights Reserved.
・フィールド値を定数と比較するとき (where name = 'hogehoge')
・フィールド値でJOINするとき (where a.name = b.name)
・フィールド値の範囲を求めるとき (<,>,between)
・LIKE句が文字列から始まるとき (where name like 'hoge%')
・min(),max()
・文字列のプレフィクスを基にしたorder by, groupy by
インデックスが使用されるとき
Copyright © 2013 TriFort, Inc. All Rights Reserved.
質問:どのインデックスを使用するか指定する方法は?
Copyright © 2013 TriFort, Inc. All Rights Reserved.
答え:use index 文を使用する。
SELECT * FROM estimates
USE INDEX(IDX_IMPORT, IDX_FSEARCH)
WHERE total>=10000 AND type=1
Copyright © 2013 TriFort, Inc. All Rights Reserved.
質問:explain文で見るべき項目は?
Copyright © 2013 TriFort, Inc. All Rights Reserved.
答え:
・適正なインデックスが使用されているか。
・テーブルに対するアクセス方法は適正か(type)
・Extraのチェック(filesort, temporaryに注
意!)
Copyright © 2013 TriFort, Inc. All Rights Reserved.
知っておきたいSQL
Copyright © 2013 TriFort, Inc. All Rights Reserved.
質問:複数の値を一括でinsertする方法は?
Copyright © 2013 TriFort, Inc. All Rights Reserved.
答え:バルクinsert
Insert into table_name
values
(AAA, BBB, CCC, DDD),
(AAA, BBB, CCC, DDD),
(AAA, BBB, CCC, DDD)
Copyright © 2013 TriFort, Inc. All Rights Reserved.
質問:値のdelete-insertを一回で行う方法は?
Copyright © 2013 TriFort, Inc. All Rights Reserved.
答え:replace into
replace into table_name
values
(AAA, BBB, CCC, DDD)
Copyright © 2013 TriFort, Inc. All Rights Reserved.
質問:PKにレコードが存在したらupdate, 存在しな
かったらinsertを行う方法は?
Copyright © 2013 TriFort, Inc. All Rights Reserved.
答え:on duplicate key update
Insert into table_name
values
(AAA, BBB, CCC)
on duplicate key update
column_A=AAA,
column_B=BBB,
column_C=CCC
Copyright © 2013 TriFort, Inc. All Rights Reserved.
質問:selectしたレコードをロックする方法は?
Copyright © 2013 TriFort, Inc. All Rights Reserved.
答え:select for update
select for update from table_name where
id=1;
⇩
commit;
Copyright © 2013 TriFort, Inc. All Rights Reserved.
質問:クエリキャッシュを使わない指定方法は?
Copyright © 2013 TriFort, Inc. All Rights Reserved.
答え:SQL_NO_CACHE
select SQL_NO_CACHE from table_name
where id=1;
Copyright © 2013 TriFort, Inc. All Rights Reserved.
質問:PKが同じレコードの重複登録エラーを
無視して高速にINSERTする方法は?
Copyright © 2013 TriFort, Inc. All Rights Reserved.
答え:INSERT IGNORE INTO
Insert ignore into table_name
values
(AAA, BBB, CCC)
Copyright © 2013 TriFort, Inc. All Rights Reserved.
質問:insertされたauto_increment値の取得
方法
Copyright © 2013 TriFort, Inc. All Rights Reserved.
答え:last_insert_id();
Copyright © 2013 TriFort, Inc. All Rights Reserved.
質問:selectの結果で重複している行を除外する
Copyright © 2013 TriFort, Inc. All Rights Reserved.
答え:DISTINCT
select distinct AAA from
table_name
Copyright © 2013 TriFort, Inc. All Rights Reserved.
勉強会は以上になります。
ご清聴ありがとうございました。

More Related Content

What's hot

AlmaLinux と Rocky Linux の誕生経緯&比較
AlmaLinux と Rocky Linux の誕生経緯&比較AlmaLinux と Rocky Linux の誕生経緯&比較
AlmaLinux と Rocky Linux の誕生経緯&比較beyond Co., Ltd.
 
Redisの特徴と活用方法について
Redisの特徴と活用方法についてRedisの特徴と活用方法について
Redisの特徴と活用方法についてYuji Otani
 
今さらだけどMySQLとライセンス
今さらだけどMySQLとライセンス今さらだけどMySQLとライセンス
今さらだけどMySQLとライセンスHidenori Ishii
 
アーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーションアーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーションMasahiko Sawada
 
グラフデータベース入門
グラフデータベース入門グラフデータベース入門
グラフデータベース入門Masaya Dake
 
60分でAppSheetを理解する
60分でAppSheetを理解する60分でAppSheetを理解する
60分でAppSheetを理解するYukio Okajima
 
dbt Cloud intro 日本語 202206
dbt Cloud intro 日本語 202206dbt Cloud intro 日本語 202206
dbt Cloud intro 日本語 202206Paul Hallaste
 
JSON:APIについてざっくり入門
JSON:APIについてざっくり入門JSON:APIについてざっくり入門
JSON:APIについてざっくり入門iPride Co., Ltd.
 
MHA for MySQLとDeNAのオープンソースの話
MHA for MySQLとDeNAのオープンソースの話MHA for MySQLとDeNAのオープンソースの話
MHA for MySQLとDeNAのオープンソースの話Yoshinori Matsunobu
 
行ロックと「LOG: process 12345 still waiting for ShareLock on transaction 710 afte...
行ロックと「LOG:  process 12345 still waiting for ShareLock on transaction 710 afte...行ロックと「LOG:  process 12345 still waiting for ShareLock on transaction 710 afte...
行ロックと「LOG: process 12345 still waiting for ShareLock on transaction 710 afte...Masahiko Sawada
 
DynamoDB設計のちょっとした技
DynamoDB設計のちょっとした技DynamoDB設計のちょっとした技
DynamoDB設計のちょっとした技Yoichi Toyota
 
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)NTT DATA Technology & Innovation
 
Hadoop -NameNode HAの仕組み-
Hadoop -NameNode HAの仕組み-Hadoop -NameNode HAの仕組み-
Hadoop -NameNode HAの仕組み-Yuki Gonda
 
サーバーレスで ガチ本番運用までやってるお話し
サーバーレスで ガチ本番運用までやってるお話しサーバーレスで ガチ本番運用までやってるお話し
サーバーレスで ガチ本番運用までやってるお話しAkira Nagata
 
OSSプロジェクトへのコントリビューション はじめの一歩を踏み出そう!(Open Source Conference 2022 Online/Spring...
OSSプロジェクトへのコントリビューション はじめの一歩を踏み出そう!(Open Source Conference 2022 Online/Spring...OSSプロジェクトへのコントリビューション はじめの一歩を踏み出そう!(Open Source Conference 2022 Online/Spring...
OSSプロジェクトへのコントリビューション はじめの一歩を踏み出そう!(Open Source Conference 2022 Online/Spring...NTT DATA Technology & Innovation
 
MySQL Index勉強会外部公開用
MySQL Index勉強会外部公開用MySQL Index勉強会外部公開用
MySQL Index勉強会外部公開用CROOZ, inc.
 
Cassandraのしくみ データの読み書き編
Cassandraのしくみ データの読み書き編Cassandraのしくみ データの読み書き編
Cassandraのしくみ データの読み書き編Yuki Morishita
 
イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)Yoshitaka Kawashima
 

What's hot (20)

AlmaLinux と Rocky Linux の誕生経緯&比較
AlmaLinux と Rocky Linux の誕生経緯&比較AlmaLinux と Rocky Linux の誕生経緯&比較
AlmaLinux と Rocky Linux の誕生経緯&比較
 
Redisの特徴と活用方法について
Redisの特徴と活用方法についてRedisの特徴と活用方法について
Redisの特徴と活用方法について
 
今さらだけどMySQLとライセンス
今さらだけどMySQLとライセンス今さらだけどMySQLとライセンス
今さらだけどMySQLとライセンス
 
アーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーションアーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーション
 
グラフデータベース入門
グラフデータベース入門グラフデータベース入門
グラフデータベース入門
 
60分でAppSheetを理解する
60分でAppSheetを理解する60分でAppSheetを理解する
60分でAppSheetを理解する
 
Apache Hadoop HDFSの最新機能の紹介(2018)#dbts2018
Apache Hadoop HDFSの最新機能の紹介(2018)#dbts2018Apache Hadoop HDFSの最新機能の紹介(2018)#dbts2018
Apache Hadoop HDFSの最新機能の紹介(2018)#dbts2018
 
dbt Cloud intro 日本語 202206
dbt Cloud intro 日本語 202206dbt Cloud intro 日本語 202206
dbt Cloud intro 日本語 202206
 
JSON:APIについてざっくり入門
JSON:APIについてざっくり入門JSON:APIについてざっくり入門
JSON:APIについてざっくり入門
 
MHA for MySQLとDeNAのオープンソースの話
MHA for MySQLとDeNAのオープンソースの話MHA for MySQLとDeNAのオープンソースの話
MHA for MySQLとDeNAのオープンソースの話
 
行ロックと「LOG: process 12345 still waiting for ShareLock on transaction 710 afte...
行ロックと「LOG:  process 12345 still waiting for ShareLock on transaction 710 afte...行ロックと「LOG:  process 12345 still waiting for ShareLock on transaction 710 afte...
行ロックと「LOG: process 12345 still waiting for ShareLock on transaction 710 afte...
 
DynamoDB設計のちょっとした技
DynamoDB設計のちょっとした技DynamoDB設計のちょっとした技
DynamoDB設計のちょっとした技
 
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
 
Hadoop -NameNode HAの仕組み-
Hadoop -NameNode HAの仕組み-Hadoop -NameNode HAの仕組み-
Hadoop -NameNode HAの仕組み-
 
サーバーレスで ガチ本番運用までやってるお話し
サーバーレスで ガチ本番運用までやってるお話しサーバーレスで ガチ本番運用までやってるお話し
サーバーレスで ガチ本番運用までやってるお話し
 
PostgreSQL: XID周回問題に潜む別の問題
PostgreSQL: XID周回問題に潜む別の問題PostgreSQL: XID周回問題に潜む別の問題
PostgreSQL: XID周回問題に潜む別の問題
 
OSSプロジェクトへのコントリビューション はじめの一歩を踏み出そう!(Open Source Conference 2022 Online/Spring...
OSSプロジェクトへのコントリビューション はじめの一歩を踏み出そう!(Open Source Conference 2022 Online/Spring...OSSプロジェクトへのコントリビューション はじめの一歩を踏み出そう!(Open Source Conference 2022 Online/Spring...
OSSプロジェクトへのコントリビューション はじめの一歩を踏み出そう!(Open Source Conference 2022 Online/Spring...
 
MySQL Index勉強会外部公開用
MySQL Index勉強会外部公開用MySQL Index勉強会外部公開用
MySQL Index勉強会外部公開用
 
Cassandraのしくみ データの読み書き編
Cassandraのしくみ データの読み書き編Cassandraのしくみ データの読み書き編
Cassandraのしくみ データの読み書き編
 
イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)
 

Viewers also liked

Nginx勉強会
Nginx勉強会Nginx勉強会
Nginx勉強会Yuji Otani
 
雑なMySQLパフォーマンスチューニング
雑なMySQLパフォーマンスチューニング雑なMySQLパフォーマンスチューニング
雑なMySQLパフォーマンスチューニングyoku0825
 
MySQLによってタフになる会12章
MySQLによってタフになる会12章MySQLによってタフになる会12章
MySQLによってタフになる会12章Toshihiro Suzuki
 
20140711 MySQL Casual Talks vol.6 / 続・Amazon RDS Casual Talks
20140711 MySQL Casual Talks vol.6 / 続・Amazon RDS Casual Talks20140711 MySQL Casual Talks vol.6 / 続・Amazon RDS Casual Talks
20140711 MySQL Casual Talks vol.6 / 続・Amazon RDS Casual TalksMori Tetsuya
 
mysqlcasual6-fabric
mysqlcasual6-fabricmysqlcasual6-fabric
mysqlcasual6-fabricdoublemarket
 
mysqlcasual6-next-key-lock
mysqlcasual6-next-key-lockmysqlcasual6-next-key-lock
mysqlcasual6-next-key-lockkarupanerura
 
N:1 Replication meets MHA
N:1 Replication meets MHAN:1 Replication meets MHA
N:1 Replication meets MHAdo_aki
 
ビッグデータ活用を加速する!分散SQLエンジン Spark SQL のご紹介 20161105 OSC Tokyo Fall
ビッグデータ活用を加速する!分散SQLエンジン Spark SQL のご紹介 20161105 OSC Tokyo Fallビッグデータ活用を加速する!分散SQLエンジン Spark SQL のご紹介 20161105 OSC Tokyo Fall
ビッグデータ活用を加速する!分散SQLエンジン Spark SQL のご紹介 20161105 OSC Tokyo FallYusukeKuramata
 
今注目のSpark SQL、知っておきたいその性能とは 20151209 OSC Enterprise
今注目のSpark SQL、知っておきたいその性能とは 20151209 OSC Enterprise今注目のSpark SQL、知っておきたいその性能とは 20151209 OSC Enterprise
今注目のSpark SQL、知っておきたいその性能とは 20151209 OSC EnterpriseYusukeKuramata
 
TokuDB試してみる
TokuDB試してみるTokuDB試してみる
TokuDB試してみるyoku0825
 
「技術のインテリジェンスを創る」をどうやって実現するか
「技術のインテリジェンスを創る」をどうやって実現するか「技術のインテリジェンスを創る」をどうやって実現するか
「技術のインテリジェンスを創る」をどうやって実現するかYuji Otani
 
ITエンジニアのための英語勉強法
ITエンジニアのための英語勉強法ITエンジニアのための英語勉強法
ITエンジニアのための英語勉強法Etsuji Nakai
 
ソーシャルゲーム案件におけるDB分割のPHP実装
ソーシャルゲーム案件におけるDB分割のPHP実装ソーシャルゲーム案件におけるDB分割のPHP実装
ソーシャルゲーム案件におけるDB分割のPHP実装infinite_loop
 
Amazon Aurora 最新アップデートと日本のお客様の移行事例
Amazon Aurora 最新アップデートと日本のお客様の移行事例Amazon Aurora 最新アップデートと日本のお客様の移行事例
Amazon Aurora 最新アップデートと日本のお客様の移行事例Amazon Web Services Japan
 
MySQLアンチパターン
MySQLアンチパターンMySQLアンチパターン
MySQLアンチパターンyoku0825
 

Viewers also liked (20)

nginxの紹介
nginxの紹介nginxの紹介
nginxの紹介
 
nginx入門
nginx入門nginx入門
nginx入門
 
Nginx勉強会
Nginx勉強会Nginx勉強会
Nginx勉強会
 
雑なMySQLパフォーマンスチューニング
雑なMySQLパフォーマンスチューニング雑なMySQLパフォーマンスチューニング
雑なMySQLパフォーマンスチューニング
 
MySQLによってタフになる会12章
MySQLによってタフになる会12章MySQLによってタフになる会12章
MySQLによってタフになる会12章
 
20140711 MySQL Casual Talks vol.6 / 続・Amazon RDS Casual Talks
20140711 MySQL Casual Talks vol.6 / 続・Amazon RDS Casual Talks20140711 MySQL Casual Talks vol.6 / 続・Amazon RDS Casual Talks
20140711 MySQL Casual Talks vol.6 / 続・Amazon RDS Casual Talks
 
mysqlcasual6-fabric
mysqlcasual6-fabricmysqlcasual6-fabric
mysqlcasual6-fabric
 
mysqlcasual6-next-key-lock
mysqlcasual6-next-key-lockmysqlcasual6-next-key-lock
mysqlcasual6-next-key-lock
 
MHA on AWS+Rails
MHA on AWS+RailsMHA on AWS+Rails
MHA on AWS+Rails
 
N:1 Replication meets MHA
N:1 Replication meets MHAN:1 Replication meets MHA
N:1 Replication meets MHA
 
ビッグデータ活用を加速する!分散SQLエンジン Spark SQL のご紹介 20161105 OSC Tokyo Fall
ビッグデータ活用を加速する!分散SQLエンジン Spark SQL のご紹介 20161105 OSC Tokyo Fallビッグデータ活用を加速する!分散SQLエンジン Spark SQL のご紹介 20161105 OSC Tokyo Fall
ビッグデータ活用を加速する!分散SQLエンジン Spark SQL のご紹介 20161105 OSC Tokyo Fall
 
今注目のSpark SQL、知っておきたいその性能とは 20151209 OSC Enterprise
今注目のSpark SQL、知っておきたいその性能とは 20151209 OSC Enterprise今注目のSpark SQL、知っておきたいその性能とは 20151209 OSC Enterprise
今注目のSpark SQL、知っておきたいその性能とは 20151209 OSC Enterprise
 
TokuDB試してみる
TokuDB試してみるTokuDB試してみる
TokuDB試してみる
 
「技術のインテリジェンスを創る」をどうやって実現するか
「技術のインテリジェンスを創る」をどうやって実現するか「技術のインテリジェンスを創る」をどうやって実現するか
「技術のインテリジェンスを創る」をどうやって実現するか
 
MySQLはじめの第一歩
MySQLはじめの第一歩MySQLはじめの第一歩
MySQLはじめの第一歩
 
ITエンジニアのための英語勉強法
ITエンジニアのための英語勉強法ITエンジニアのための英語勉強法
ITエンジニアのための英語勉強法
 
Mysql toranomaki
Mysql toranomakiMysql toranomaki
Mysql toranomaki
 
ソーシャルゲーム案件におけるDB分割のPHP実装
ソーシャルゲーム案件におけるDB分割のPHP実装ソーシャルゲーム案件におけるDB分割のPHP実装
ソーシャルゲーム案件におけるDB分割のPHP実装
 
Amazon Aurora 最新アップデートと日本のお客様の移行事例
Amazon Aurora 最新アップデートと日本のお客様の移行事例Amazon Aurora 最新アップデートと日本のお客様の移行事例
Amazon Aurora 最新アップデートと日本のお客様の移行事例
 
MySQLアンチパターン
MySQLアンチパターンMySQLアンチパターン
MySQLアンチパターン
 

Similar to 【基礎編】社内向けMySQL勉強会

D22 目覚めよDBエンジニア 〜世界最速カラムナーデータベースは本物だ!〜 by Koji Shinkubo
D22 目覚めよDBエンジニア 〜世界最速カラムナーデータベースは本物だ!〜 by Koji ShinkuboD22 目覚めよDBエンジニア 〜世界最速カラムナーデータベースは本物だ!〜 by Koji Shinkubo
D22 目覚めよDBエンジニア 〜世界最速カラムナーデータベースは本物だ!〜 by Koji ShinkuboInsight Technology, Inc.
 
性能問題を起こしにくい信頼されるクラウド RDB のつくりかた
性能問題を起こしにくい信頼されるクラウド RDB のつくりかた性能問題を起こしにくい信頼されるクラウド RDB のつくりかた
性能問題を起こしにくい信頼されるクラウド RDB のつくりかたTomoyuki Oota
 
20150131 ChugokuDB-Shimane-MySQL
20150131 ChugokuDB-Shimane-MySQL20150131 ChugokuDB-Shimane-MySQL
20150131 ChugokuDB-Shimane-MySQLRyusuke Kajiyama
 
20120822_dstn技術交流会_dstnのご紹介と最新技術情報
20120822_dstn技術交流会_dstnのご紹介と最新技術情報20120822_dstn技術交流会_dstnのご紹介と最新技術情報
20120822_dstn技術交流会_dstnのご紹介と最新技術情報dstn
 
[A31]AWS上でOracleを利用するためのはじめの一歩!by Masatoshi Yoshida
[A31]AWS上でOracleを利用するためのはじめの一歩!by Masatoshi Yoshida[A31]AWS上でOracleを利用するためのはじめの一歩!by Masatoshi Yoshida
[A31]AWS上でOracleを利用するためのはじめの一歩!by Masatoshi YoshidaInsight Technology, Inc.
 
[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能
[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能
[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能Ryusuke Kajiyama
 
Engine Yard - 商用マルチクラウドPaaS
Engine Yard - 商用マルチクラウドPaaSEngine Yard - 商用マルチクラウドPaaS
Engine Yard - 商用マルチクラウドPaaSTakahiro Imanaka
 
About OpenStack DBaas (trove)
About OpenStack DBaas (trove)About OpenStack DBaas (trove)
About OpenStack DBaas (trove)Ikuo Kumagai
 
G-Tech2015 Hadoop/Sparkを中核としたビッグデータ基盤_20151006
G-Tech2015 Hadoop/Sparkを中核としたビッグデータ基盤_20151006G-Tech2015 Hadoop/Sparkを中核としたビッグデータ基盤_20151006
G-Tech2015 Hadoop/Sparkを中核としたビッグデータ基盤_20151006Cloudera Japan
 
OpenStack Trove 技術解説
OpenStack Trove 技術解説OpenStack Trove 技術解説
OpenStack Trove 技術解説Toru Makabe
 
Cloudera in the Cloud #CWT2017
Cloudera in the Cloud #CWT2017Cloudera in the Cloud #CWT2017
Cloudera in the Cloud #CWT2017Cloudera Japan
 
AutoScale×ゲーム ~運用効率化への取り組み~
AutoScale×ゲーム ~運用効率化への取り組み~AutoScale×ゲーム ~運用効率化への取り組み~
AutoScale×ゲーム ~運用効率化への取り組み~Takashi Honda
 
Automation with SoftLayer and Zabbix
Automation with SoftLayer and ZabbixAutomation with SoftLayer and Zabbix
Automation with SoftLayer and Zabbixsoftlayerjp
 
とある AWS サービスの運用移管〜データストア編〜 #jawsmeguro
とある AWS サービスの運用移管〜データストア編〜 #jawsmeguroとある AWS サービスの運用移管〜データストア編〜 #jawsmeguro
とある AWS サービスの運用移管〜データストア編〜 #jawsmeguroIKEDA Kiyoshi
 
ORACLE MASTER Bronze Oracle Database 12c 傾向と対策 (SQL および Bronze DBA)
ORACLE MASTER Bronze Oracle Database 12c 傾向と対策 (SQL および Bronze DBA) ORACLE MASTER Bronze Oracle Database 12c 傾向と対策 (SQL および Bronze DBA)
ORACLE MASTER Bronze Oracle Database 12c 傾向と対策 (SQL および Bronze DBA) オラクルユニバーシティ
 
Lv1から始めるWebサービスのインフラ構築
Lv1から始めるWebサービスのインフラ構築Lv1から始めるWebサービスのインフラ構築
Lv1から始めるWebサービスのインフラ構築伊藤 祐策
 
MBAAで覚えるDBREの大事なおしごと
MBAAで覚えるDBREの大事なおしごとMBAAで覚えるDBREの大事なおしごと
MBAAで覚えるDBREの大事なおしごとInsight Technology, Inc.
 

Similar to 【基礎編】社内向けMySQL勉強会 (20)

D22 目覚めよDBエンジニア 〜世界最速カラムナーデータベースは本物だ!〜 by Koji Shinkubo
D22 目覚めよDBエンジニア 〜世界最速カラムナーデータベースは本物だ!〜 by Koji ShinkuboD22 目覚めよDBエンジニア 〜世界最速カラムナーデータベースは本物だ!〜 by Koji Shinkubo
D22 目覚めよDBエンジニア 〜世界最速カラムナーデータベースは本物だ!〜 by Koji Shinkubo
 
性能問題を起こしにくい信頼されるクラウド RDB のつくりかた
性能問題を起こしにくい信頼されるクラウド RDB のつくりかた性能問題を起こしにくい信頼されるクラウド RDB のつくりかた
性能問題を起こしにくい信頼されるクラウド RDB のつくりかた
 
Fuel php活用事例
Fuel php活用事例Fuel php活用事例
Fuel php活用事例
 
20150131 ChugokuDB-Shimane-MySQL
20150131 ChugokuDB-Shimane-MySQL20150131 ChugokuDB-Shimane-MySQL
20150131 ChugokuDB-Shimane-MySQL
 
20120822_dstn技術交流会_dstnのご紹介と最新技術情報
20120822_dstn技術交流会_dstnのご紹介と最新技術情報20120822_dstn技術交流会_dstnのご紹介と最新技術情報
20120822_dstn技術交流会_dstnのご紹介と最新技術情報
 
[A31]AWS上でOracleを利用するためのはじめの一歩!by Masatoshi Yoshida
[A31]AWS上でOracleを利用するためのはじめの一歩!by Masatoshi Yoshida[A31]AWS上でOracleを利用するためのはじめの一歩!by Masatoshi Yoshida
[A31]AWS上でOracleを利用するためのはじめの一歩!by Masatoshi Yoshida
 
[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能
[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能
[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能
 
Engine Yard - 商用マルチクラウドPaaS
Engine Yard - 商用マルチクラウドPaaSEngine Yard - 商用マルチクラウドPaaS
Engine Yard - 商用マルチクラウドPaaS
 
About OpenStack DBaas (trove)
About OpenStack DBaas (trove)About OpenStack DBaas (trove)
About OpenStack DBaas (trove)
 
Oracle Data Guard による高可用性
Oracle Data Guard による高可用性Oracle Data Guard による高可用性
Oracle Data Guard による高可用性
 
G-Tech2015 Hadoop/Sparkを中核としたビッグデータ基盤_20151006
G-Tech2015 Hadoop/Sparkを中核としたビッグデータ基盤_20151006G-Tech2015 Hadoop/Sparkを中核としたビッグデータ基盤_20151006
G-Tech2015 Hadoop/Sparkを中核としたビッグデータ基盤_20151006
 
OpenStack Trove 技術解説
OpenStack Trove 技術解説OpenStack Trove 技術解説
OpenStack Trove 技術解説
 
Cloudera in the Cloud #CWT2017
Cloudera in the Cloud #CWT2017Cloudera in the Cloud #CWT2017
Cloudera in the Cloud #CWT2017
 
AutoScale×ゲーム ~運用効率化への取り組み~
AutoScale×ゲーム ~運用効率化への取り組み~AutoScale×ゲーム ~運用効率化への取り組み~
AutoScale×ゲーム ~運用効率化への取り組み~
 
Automation with SoftLayer and Zabbix
Automation with SoftLayer and ZabbixAutomation with SoftLayer and Zabbix
Automation with SoftLayer and Zabbix
 
とある AWS サービスの運用移管〜データストア編〜 #jawsmeguro
とある AWS サービスの運用移管〜データストア編〜 #jawsmeguroとある AWS サービスの運用移管〜データストア編〜 #jawsmeguro
とある AWS サービスの運用移管〜データストア編〜 #jawsmeguro
 
PostgreSQL 9.5 新機能紹介
PostgreSQL 9.5 新機能紹介PostgreSQL 9.5 新機能紹介
PostgreSQL 9.5 新機能紹介
 
ORACLE MASTER Bronze Oracle Database 12c 傾向と対策 (SQL および Bronze DBA)
ORACLE MASTER Bronze Oracle Database 12c 傾向と対策 (SQL および Bronze DBA) ORACLE MASTER Bronze Oracle Database 12c 傾向と対策 (SQL および Bronze DBA)
ORACLE MASTER Bronze Oracle Database 12c 傾向と対策 (SQL および Bronze DBA)
 
Lv1から始めるWebサービスのインフラ構築
Lv1から始めるWebサービスのインフラ構築Lv1から始めるWebサービスのインフラ構築
Lv1から始めるWebサービスのインフラ構築
 
MBAAで覚えるDBREの大事なおしごと
MBAAで覚えるDBREの大事なおしごとMBAAで覚えるDBREの大事なおしごと
MBAAで覚えるDBREの大事なおしごと
 

More from Yuji Otani

SKYDISCのIoTを支えるテクノロジー
SKYDISCのIoTを支えるテクノロジーSKYDISCのIoTを支えるテクノロジー
SKYDISCのIoTを支えるテクノロジーYuji Otani
 
Hack/HHVMの最新事情とメイン言語に採用した理由
Hack/HHVMの最新事情とメイン言語に採用した理由Hack/HHVMの最新事情とメイン言語に採用した理由
Hack/HHVMの最新事情とメイン言語に採用した理由Yuji Otani
 
Why choose Hack/HHVM over PHP7
Why choose Hack/HHVM over PHP7Why choose Hack/HHVM over PHP7
Why choose Hack/HHVM over PHP7Yuji Otani
 
PHP7ではなくHack/HHVMを選ぶ理由
PHP7ではなくHack/HHVMを選ぶ理由PHP7ではなくHack/HHVMを選ぶ理由
PHP7ではなくHack/HHVMを選ぶ理由Yuji Otani
 
PHP7がリリースされたいま、 改めてHackについて考える。
PHP7がリリースされたいま、 改めてHackについて考える。PHP7がリリースされたいま、 改めてHackについて考える。
PHP7がリリースされたいま、 改めてHackについて考える。Yuji Otani
 
FuelPHP × HHVM サービス開発事例
FuelPHP × HHVM サービス開発事例FuelPHP × HHVM サービス開発事例
FuelPHP × HHVM サービス開発事例Yuji Otani
 
Hack言語に賭けたチームの話
Hack言語に賭けたチームの話Hack言語に賭けたチームの話
Hack言語に賭けたチームの話Yuji Otani
 
スタートアップにおける技術チームの作り方
スタートアップにおける技術チームの作り方スタートアップにおける技術チームの作り方
スタートアップにおける技術チームの作り方Yuji Otani
 
Go言語のフレームワークRevelの紹介とサービスにおける活用事例
Go言語のフレームワークRevelの紹介とサービスにおける活用事例Go言語のフレームワークRevelの紹介とサービスにおける活用事例
Go言語のフレームワークRevelの紹介とサービスにおける活用事例Yuji Otani
 
Hack+FuelPHPによるWebサービス開発
Hack+FuelPHPによるWebサービス開発Hack+FuelPHPによるWebサービス開発
Hack+FuelPHPによるWebサービス開発Yuji Otani
 
【初心者向け】Go言語勉強会資料
 【初心者向け】Go言語勉強会資料 【初心者向け】Go言語勉強会資料
【初心者向け】Go言語勉強会資料Yuji Otani
 
NoSQL勉強会資料(2015/03/12@ヒカラボ )
NoSQL勉強会資料(2015/03/12@ヒカラボ )NoSQL勉強会資料(2015/03/12@ヒカラボ )
NoSQL勉強会資料(2015/03/12@ヒカラボ )Yuji Otani
 
Phalcon勉強会資料
Phalcon勉強会資料Phalcon勉強会資料
Phalcon勉強会資料Yuji Otani
 
RDBとNoSQLの上手な付き合い方(勉強会@LIG 2013/11/11)
RDBとNoSQLの上手な付き合い方(勉強会@LIG 2013/11/11)RDBとNoSQLの上手な付き合い方(勉強会@LIG 2013/11/11)
RDBとNoSQLの上手な付き合い方(勉強会@LIG 2013/11/11)Yuji Otani
 
Redis勉強会資料(2015/06 update)
Redis勉強会資料(2015/06 update)Redis勉強会資料(2015/06 update)
Redis勉強会資料(2015/06 update)Yuji Otani
 
PHP基礎勉強会
PHP基礎勉強会PHP基礎勉強会
PHP基礎勉強会Yuji Otani
 
負荷分散勉強会
負荷分散勉強会負荷分散勉強会
負荷分散勉強会Yuji Otani
 
NoSQL勉強会
NoSQL勉強会NoSQL勉強会
NoSQL勉強会Yuji Otani
 
Php5 4勉強会
Php5 4勉強会Php5 4勉強会
Php5 4勉強会Yuji Otani
 

More from Yuji Otani (19)

SKYDISCのIoTを支えるテクノロジー
SKYDISCのIoTを支えるテクノロジーSKYDISCのIoTを支えるテクノロジー
SKYDISCのIoTを支えるテクノロジー
 
Hack/HHVMの最新事情とメイン言語に採用した理由
Hack/HHVMの最新事情とメイン言語に採用した理由Hack/HHVMの最新事情とメイン言語に採用した理由
Hack/HHVMの最新事情とメイン言語に採用した理由
 
Why choose Hack/HHVM over PHP7
Why choose Hack/HHVM over PHP7Why choose Hack/HHVM over PHP7
Why choose Hack/HHVM over PHP7
 
PHP7ではなくHack/HHVMを選ぶ理由
PHP7ではなくHack/HHVMを選ぶ理由PHP7ではなくHack/HHVMを選ぶ理由
PHP7ではなくHack/HHVMを選ぶ理由
 
PHP7がリリースされたいま、 改めてHackについて考える。
PHP7がリリースされたいま、 改めてHackについて考える。PHP7がリリースされたいま、 改めてHackについて考える。
PHP7がリリースされたいま、 改めてHackについて考える。
 
FuelPHP × HHVM サービス開発事例
FuelPHP × HHVM サービス開発事例FuelPHP × HHVM サービス開発事例
FuelPHP × HHVM サービス開発事例
 
Hack言語に賭けたチームの話
Hack言語に賭けたチームの話Hack言語に賭けたチームの話
Hack言語に賭けたチームの話
 
スタートアップにおける技術チームの作り方
スタートアップにおける技術チームの作り方スタートアップにおける技術チームの作り方
スタートアップにおける技術チームの作り方
 
Go言語のフレームワークRevelの紹介とサービスにおける活用事例
Go言語のフレームワークRevelの紹介とサービスにおける活用事例Go言語のフレームワークRevelの紹介とサービスにおける活用事例
Go言語のフレームワークRevelの紹介とサービスにおける活用事例
 
Hack+FuelPHPによるWebサービス開発
Hack+FuelPHPによるWebサービス開発Hack+FuelPHPによるWebサービス開発
Hack+FuelPHPによるWebサービス開発
 
【初心者向け】Go言語勉強会資料
 【初心者向け】Go言語勉強会資料 【初心者向け】Go言語勉強会資料
【初心者向け】Go言語勉強会資料
 
NoSQL勉強会資料(2015/03/12@ヒカラボ )
NoSQL勉強会資料(2015/03/12@ヒカラボ )NoSQL勉強会資料(2015/03/12@ヒカラボ )
NoSQL勉強会資料(2015/03/12@ヒカラボ )
 
Phalcon勉強会資料
Phalcon勉強会資料Phalcon勉強会資料
Phalcon勉強会資料
 
RDBとNoSQLの上手な付き合い方(勉強会@LIG 2013/11/11)
RDBとNoSQLの上手な付き合い方(勉強会@LIG 2013/11/11)RDBとNoSQLの上手な付き合い方(勉強会@LIG 2013/11/11)
RDBとNoSQLの上手な付き合い方(勉強会@LIG 2013/11/11)
 
Redis勉強会資料(2015/06 update)
Redis勉強会資料(2015/06 update)Redis勉強会資料(2015/06 update)
Redis勉強会資料(2015/06 update)
 
PHP基礎勉強会
PHP基礎勉強会PHP基礎勉強会
PHP基礎勉強会
 
負荷分散勉強会
負荷分散勉強会負荷分散勉強会
負荷分散勉強会
 
NoSQL勉強会
NoSQL勉強会NoSQL勉強会
NoSQL勉強会
 
Php5 4勉強会
Php5 4勉強会Php5 4勉強会
Php5 4勉強会
 

Recently uploaded

SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 

Recently uploaded (9)

SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 

【基礎編】社内向けMySQL勉強会

  • 1. Copyright © 2013 TriFort, Inc. All Rights Reserved. MySQL勉強会 〜基礎編〜 技術統轄本部 大谷 祐司
  • 2. Copyright © 2013 TriFort, Inc. All Rights Reserved. MySQL勉強会 TriFortで標準DBとして採用されているMySQL。 基本的な内容から応用的な内容まで、幅広く お届けしたいと思います。
  • 3. Copyright © 2013 TriFort, Inc. All Rights Reserved. アジェンダ ・MySQLの概要 ・バージョンと新機能 ・インデックスについて ・知っておきたいSQL
  • 4. Copyright © 2013 TriFort, Inc. All Rights Reserved. MySQLの概要
  • 5. Copyright © 2013 TriFort, Inc. All Rights Reserved. 世界で一番使われている オープンソース・データベース
  • 6. Copyright © 2013 TriFort, Inc. All Rights Reserved. MySQLの運営組織 1995年:MySQL ABによってリリース 2008年:サン・マイクロシステムズがMySQL AB買収 2009年:オラクルがサン・マイクロシステムズ買収 現在は、オラクルがMySQLを開発している。
  • 7. Copyright © 2013 TriFort, Inc. All Rights Reserved. MySQLのfork「MariaDB」の台頭 Fedora19がリリース。 デフォルトのDBがMySQLからMariaDBに変更されました。 2013年7月
  • 8. Copyright © 2013 TriFort, Inc. All Rights Reserved. GoogleもMariaDB採用へ 社内データベースにMariaDB 10.0 を採用している。 GoogleがMariaDB Foundationに開発者を派遣。
  • 9. Copyright © 2013 TriFort, Inc. All Rights Reserved. MySQLの歴史
  • 10. Copyright © 2013 TriFort, Inc. All Rights Reserved. 1995年5月 最初のバージョンがリリース。
  • 11. Copyright © 2013 TriFort, Inc. All Rights Reserved. 2003年3月 バージョン4.0プロダクション版 リリース
  • 12. Copyright © 2013 TriFort, Inc. All Rights Reserved. ・クエリキャッシュ ・バルクインサート ・InnoDBストレージエンジン ・SQL:TRUNCATE文 ・SQL:UNION文 ・SET文が使えるようになった ・複数テーブルのDELETE/UPDATE ・FOUND_ROWS
  • 13. Copyright © 2013 TriFort, Inc. All Rights Reserved. 2004年10月 バージョン4.1プロダクション版 リリース
  • 14. Copyright © 2013 TriFort, Inc. All Rights Reserved. ・サブクエリのサポート ・SQL:CREATE TABLE XXX LIKE XXX ・SSL 接続を介したレプリケーション ・SQL:ON DUPLICATE KEY UPDATE ・1度に複数クエリの実行 ・GROUP_CONCAT()関数
  • 15. Copyright © 2013 TriFort, Inc. All Rights Reserved. 2005年10月 バージョン5プロダクション版 リリース
  • 16. Copyright © 2013 TriFort, Inc. All Rights Reserved. ・ストアドプロシージャ ・VARCHARの255文字以上対応
  • 17. Copyright © 2013 TriFort, Inc. All Rights Reserved. 2008年11月 バージョン5.1プロダクション版 リリース
  • 18. Copyright © 2013 TriFort, Inc. All Rights Reserved. ・テーブルのパーティショニング ・行ベースのレプリケーション ・プラグインAPI ・イベント スケジューラ ・サーバログテーブル ・テーブルスペースのバックアップ(mysqldump) ・INFORMATION_SCHEMAに対する改良
  • 19. Copyright © 2013 TriFort, Inc. All Rights Reserved. 2010年12月 バージョン5.5プロダクション版 リリース
  • 20. Copyright © 2013 TriFort, Inc. All Rights Reserved. ・標準ストレージエンジンがInnoDBに変更。 ・InnoDBの大幅な改善 ・準同期レプリケーション ・レプリケーションの改善 ・4バイトUTF-8対応 ・RANGE/LISパーテショニング
  • 21. Copyright © 2013 TriFort, Inc. All Rights Reserved. 2013年2月 バージョン5.6プロダクション版 リリース
  • 22. Copyright © 2013 TriFort, Inc. All Rights Reserved. InnoDB ・インデックス追加/削除がオンラインで可能 ・全文検索機能 ・.ibdファイルのエクスポート・インポート ・ページサイズの指定(4k/8k/16k) ・memcachedプロトコルでアクセス ・インデックス統計情報の改善 ・InnoDBのログサイズ最大が4G⇒512G ・デッドロック検出機能の改善 ・SQL:START TRANSACTION READ ONLY
  • 23. Copyright © 2013 TriFort, Inc. All Rights Reserved. レプリケーション ・SLAVEのマルチスレッド化 ・GTIDでSLAVEの自動昇格が可能 ・SLAVEがクラッシュセーフに。 ・遅延レプリケーション ・SLAVEが使用するNICの指定 ・バイナリログにチェックサムの付与
  • 24. Copyright © 2013 TriFort, Inc. All Rights Reserved. オプティマイザ ・サブクエリの改善 ・UPDATE/DELETE/INSERTなどもexplain可能に ・ORDER BY ... LIMITのパフォーマンス改善 ・パーティションの上限が1024⇒8192に増加 ・パーティションをテーブル間で移動 ・クエリ実行時にパーティションを指定できる
  • 25. Copyright © 2013 TriFort, Inc. All Rights Reserved. インデックスの理解
  • 26. Copyright © 2013 TriFort, Inc. All Rights Reserved. 質問:インデックスを使うメリットは 何でしょうか?
  • 27. Copyright © 2013 TriFort, Inc. All Rights Reserved. 答え:レコードの絞り込みを高速に行える。
  • 28. Copyright © 2013 TriFort, Inc. All Rights Reserved. 質問:インデックスを使うデメリットは 何でしょうか?
  • 29. Copyright © 2013 TriFort, Inc. All Rights Reserved. 答え:更新が遅くなる。 使いすぎるとメモリを圧迫する。
  • 30. Copyright © 2013 TriFort, Inc. All Rights Reserved. インデックスとは何か メモリに該当レコードの位置を保存して、高速にアクセ スできるようにしています。 メモリはHDDの10万倍程度早いので、高速な検索を実現し ています。
  • 31. Copyright © 2013 TriFort, Inc. All Rights Reserved. インデックスの種類 質問:MySQLにはどのようなインデックスが 存在するでしょうか?
  • 32. Copyright © 2013 TriFort, Inc. All Rights Reserved. ・PRIMARY KEY ⇒テーブルのレコードを一意に特定 ・セカンダリインデックス ⇒PK以外のインデックス ・ユニークインデックス ⇒特定のカラムで同じ値が一度しか出現しな くなる(NULLは除く)
  • 33. Copyright © 2013 TriFort, Inc. All Rights Reserved. ・空間インデックス(SPATIAL) ⇒緯度軽度などの空間情報を扱うのに利用。R-tree。 ・FULLTEXT ⇒全文検索用のインデックス。MySQL5.6からInnoDBで 使用可能になりました。
  • 34. Copyright © 2013 TriFort, Inc. All Rights Reserved. 100万レコードの検索 ⇒全てのレコードを順番に読んで、100万回のレコード チェックを行う。 インデックスを使用しないと・・
  • 35. Copyright © 2013 TriFort, Inc. All Rights Reserved. ヘッダブロック、ブランチブロックで値を検索し、 リーフブロックでレコードの位置を特定します。 B-tree indexの概要
  • 36. Copyright © 2013 TriFort, Inc. All Rights Reserved. ・どのようなキー値でも同一の速度が期待できる。 ・大量データでも良いパフォーマンスが期待できる。 ・主キーでの検索が非常に高速 ・セカンダリインデックスの検索は遅くなる ⇒リーフブロックには主キーの位置が格納 B-tree インデックスの特徴
  • 37. Copyright © 2013 TriFort, Inc. All Rights Reserved. 複合インデックスについて 質問:2つ以上のカラムにインデックスを張るとき、 気をつけるポイントは何でしょうか?
  • 38. Copyright © 2013 TriFort, Inc. All Rights Reserved. ・どのように検索されるかを考慮する。 A, AB で検索される場合にはA⇒Bの順番。 B, BA で検索される場合にはB⇒Aの順番。 ・カーディナリティ(値の分散)を考慮する。 Aが3つのデータ、Bが1000のデータで構成され ている場合、Bを先に持ってくる。
  • 39. Copyright © 2013 TriFort, Inc. All Rights Reserved. ・フィールド値を定数と比較するとき (where name = 'hogehoge') ・フィールド値でJOINするとき (where a.name = b.name) ・フィールド値の範囲を求めるとき (<,>,between) ・LIKE句が文字列から始まるとき (where name like 'hoge%') ・min(),max() ・文字列のプレフィクスを基にしたorder by, groupy by インデックスが使用されるとき
  • 40. Copyright © 2013 TriFort, Inc. All Rights Reserved. 質問:どのインデックスを使用するか指定する方法は?
  • 41. Copyright © 2013 TriFort, Inc. All Rights Reserved. 答え:use index 文を使用する。 SELECT * FROM estimates USE INDEX(IDX_IMPORT, IDX_FSEARCH) WHERE total>=10000 AND type=1
  • 42. Copyright © 2013 TriFort, Inc. All Rights Reserved. 質問:explain文で見るべき項目は?
  • 43. Copyright © 2013 TriFort, Inc. All Rights Reserved. 答え: ・適正なインデックスが使用されているか。 ・テーブルに対するアクセス方法は適正か(type) ・Extraのチェック(filesort, temporaryに注 意!)
  • 44. Copyright © 2013 TriFort, Inc. All Rights Reserved. 知っておきたいSQL
  • 45. Copyright © 2013 TriFort, Inc. All Rights Reserved. 質問:複数の値を一括でinsertする方法は?
  • 46. Copyright © 2013 TriFort, Inc. All Rights Reserved. 答え:バルクinsert Insert into table_name values (AAA, BBB, CCC, DDD), (AAA, BBB, CCC, DDD), (AAA, BBB, CCC, DDD)
  • 47. Copyright © 2013 TriFort, Inc. All Rights Reserved. 質問:値のdelete-insertを一回で行う方法は?
  • 48. Copyright © 2013 TriFort, Inc. All Rights Reserved. 答え:replace into replace into table_name values (AAA, BBB, CCC, DDD)
  • 49. Copyright © 2013 TriFort, Inc. All Rights Reserved. 質問:PKにレコードが存在したらupdate, 存在しな かったらinsertを行う方法は?
  • 50. Copyright © 2013 TriFort, Inc. All Rights Reserved. 答え:on duplicate key update Insert into table_name values (AAA, BBB, CCC) on duplicate key update column_A=AAA, column_B=BBB, column_C=CCC
  • 51. Copyright © 2013 TriFort, Inc. All Rights Reserved. 質問:selectしたレコードをロックする方法は?
  • 52. Copyright © 2013 TriFort, Inc. All Rights Reserved. 答え:select for update select for update from table_name where id=1; ⇩ commit;
  • 53. Copyright © 2013 TriFort, Inc. All Rights Reserved. 質問:クエリキャッシュを使わない指定方法は?
  • 54. Copyright © 2013 TriFort, Inc. All Rights Reserved. 答え:SQL_NO_CACHE select SQL_NO_CACHE from table_name where id=1;
  • 55. Copyright © 2013 TriFort, Inc. All Rights Reserved. 質問:PKが同じレコードの重複登録エラーを 無視して高速にINSERTする方法は?
  • 56. Copyright © 2013 TriFort, Inc. All Rights Reserved. 答え:INSERT IGNORE INTO Insert ignore into table_name values (AAA, BBB, CCC)
  • 57. Copyright © 2013 TriFort, Inc. All Rights Reserved. 質問:insertされたauto_increment値の取得 方法
  • 58. Copyright © 2013 TriFort, Inc. All Rights Reserved. 答え:last_insert_id();
  • 59. Copyright © 2013 TriFort, Inc. All Rights Reserved. 質問:selectの結果で重複している行を除外する
  • 60. Copyright © 2013 TriFort, Inc. All Rights Reserved. 答え:DISTINCT select distinct AAA from table_name
  • 61. Copyright © 2013 TriFort, Inc. All Rights Reserved. 勉強会は以上になります。 ご清聴ありがとうございました。