Suche senden
Hochladen
Index shotgun on mysql5.6
•
2 gefällt mir
•
4,341 views
yoku0825
Folgen
2013/04/17 MySQL Casual Talks #4の資料です。 当日ぐだぐだにしゃべったのよりもう少し状況の説明をしています。。遅くなりましたorz
Weniger lesen
Mehr lesen
Technologie
Melden
Teilen
Melden
Teilen
1 von 32
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
ぐだぐだInnoDB
ぐだぐだInnoDB
yoku0825
Mroongaを使ったときの MySQLの制限との戦い
Mroongaを使ったときの MySQLの制限との戦い
Naoya Murakami
わたしを支える技術
わたしを支える技術
yoku0825
Oracle In-database-archiving ~Oracleでの論理削除~
Oracle In-database-archiving ~Oracleでの論理削除~
Daiki Mogmet Ito
MySQL 5.7の次のMySQLは
MySQL 5.7の次のMySQLは
yoku0825
MySQL 5.7の次のMySQL 8.0はどんなものになるだろう
MySQL 5.7の次のMySQL 8.0はどんなものになるだろう
yoku0825
MySQLステータスモニタリング
MySQLステータスモニタリング
yoku0825
サーバーが完膚なきまでに死んでもMySQLのデータを失わないための表技
サーバーが完膚なきまでに死んでもMySQLのデータを失わないための表技
yoku0825
Empfohlen
ぐだぐだInnoDB
ぐだぐだInnoDB
yoku0825
Mroongaを使ったときの MySQLの制限との戦い
Mroongaを使ったときの MySQLの制限との戦い
Naoya Murakami
わたしを支える技術
わたしを支える技術
yoku0825
Oracle In-database-archiving ~Oracleでの論理削除~
Oracle In-database-archiving ~Oracleでの論理削除~
Daiki Mogmet Ito
MySQL 5.7の次のMySQLは
MySQL 5.7の次のMySQLは
yoku0825
MySQL 5.7の次のMySQL 8.0はどんなものになるだろう
MySQL 5.7の次のMySQL 8.0はどんなものになるだろう
yoku0825
MySQLステータスモニタリング
MySQLステータスモニタリング
yoku0825
サーバーが完膚なきまでに死んでもMySQLのデータを失わないための表技
サーバーが完膚なきまでに死んでもMySQLのデータを失わないための表技
yoku0825
いろいろ考えると日本語の全文検索もMySQLがいいね!
いろいろ考えると日本語の全文検索もMySQLがいいね!
Kouhei Sutou
blogサービスの全文検索の話 - #groonga を囲む夕べ
blogサービスの全文検索の話 - #groonga を囲む夕べ
Masahiro Nagano
How to backup your mroonga database?
How to backup your mroonga database?
yoku0825
Devsの常識、DBAは非常識
Devsの常識、DBAは非常識
yoku0825
MySQL勉強会 インデックス編.2013 08-02
MySQL勉強会 インデックス編.2013 08-02
CROOZ, inc.
MySQL 5.7が魅せる新しい運用の形
MySQL 5.7が魅せる新しい運用の形
yoku0825
Oracle how-to-audit-backup
Oracle how-to-audit-backup
Daiki Mogmet Ito
ペパボ de MySQL
ペパボ de MySQL
yoku0825
MySQLと組み合わせて始める全文検索プロダクト"elasticsearch"
MySQLと組み合わせて始める全文検索プロダクト"elasticsearch"
Kentaro Yoshida
MySQLerの7つ道具
MySQLerの7つ道具
yoku0825
今から備えるMySQL最新バージョン5.7
今から備えるMySQL最新バージョン5.7
yoku0825
MySQL 5.7 InnoDB 日本語全文検索(その2)
MySQL 5.7 InnoDB 日本語全文検索(その2)
yoyamasaki
MySQLユーザ視点での小さく始めるElasticsearch
MySQLユーザ視点での小さく始めるElasticsearch
Kentaro Yoshida
[D14] MySQL 5.6時代のパフォーマンスチューニング *db tech showcase 2013 Tokyo
[D14] MySQL 5.6時代のパフォーマンスチューニング *db tech showcase 2013 Tokyo
yoyamasaki
Handlerさんコンニチワ
Handlerさんコンニチワ
yoku0825
MySQL 5.7にやられないためにおぼえておいてほしいこと
MySQL 5.7にやられないためにおぼえておいてほしいこと
yoku0825
とあるイルカのバーボンハウス
とあるイルカのバーボンハウス
yoku0825
わかった気になるMySQL
わかった気になるMySQL
yoku0825
Elasticsearch Authプラグインでアクセスコントロール
Elasticsearch Authプラグインでアクセスコントロール
Shinsuke Sugaya
MySQLアンチパターン
MySQLアンチパターン
yoku0825
O/R Mapper Stratumの話
O/R Mapper Stratumの話
SATOSHI TAGOMORI
SQLドリルの話(仮)
SQLドリルの話(仮)
Yuuki Tan-nai
Weitere ähnliche Inhalte
Was ist angesagt?
いろいろ考えると日本語の全文検索もMySQLがいいね!
いろいろ考えると日本語の全文検索もMySQLがいいね!
Kouhei Sutou
blogサービスの全文検索の話 - #groonga を囲む夕べ
blogサービスの全文検索の話 - #groonga を囲む夕べ
Masahiro Nagano
How to backup your mroonga database?
How to backup your mroonga database?
yoku0825
Devsの常識、DBAは非常識
Devsの常識、DBAは非常識
yoku0825
MySQL勉強会 インデックス編.2013 08-02
MySQL勉強会 インデックス編.2013 08-02
CROOZ, inc.
MySQL 5.7が魅せる新しい運用の形
MySQL 5.7が魅せる新しい運用の形
yoku0825
Oracle how-to-audit-backup
Oracle how-to-audit-backup
Daiki Mogmet Ito
ペパボ de MySQL
ペパボ de MySQL
yoku0825
MySQLと組み合わせて始める全文検索プロダクト"elasticsearch"
MySQLと組み合わせて始める全文検索プロダクト"elasticsearch"
Kentaro Yoshida
MySQLerの7つ道具
MySQLerの7つ道具
yoku0825
今から備えるMySQL最新バージョン5.7
今から備えるMySQL最新バージョン5.7
yoku0825
MySQL 5.7 InnoDB 日本語全文検索(その2)
MySQL 5.7 InnoDB 日本語全文検索(その2)
yoyamasaki
MySQLユーザ視点での小さく始めるElasticsearch
MySQLユーザ視点での小さく始めるElasticsearch
Kentaro Yoshida
[D14] MySQL 5.6時代のパフォーマンスチューニング *db tech showcase 2013 Tokyo
[D14] MySQL 5.6時代のパフォーマンスチューニング *db tech showcase 2013 Tokyo
yoyamasaki
Handlerさんコンニチワ
Handlerさんコンニチワ
yoku0825
MySQL 5.7にやられないためにおぼえておいてほしいこと
MySQL 5.7にやられないためにおぼえておいてほしいこと
yoku0825
とあるイルカのバーボンハウス
とあるイルカのバーボンハウス
yoku0825
わかった気になるMySQL
わかった気になるMySQL
yoku0825
Elasticsearch Authプラグインでアクセスコントロール
Elasticsearch Authプラグインでアクセスコントロール
Shinsuke Sugaya
MySQLアンチパターン
MySQLアンチパターン
yoku0825
Was ist angesagt?
(20)
いろいろ考えると日本語の全文検索もMySQLがいいね!
いろいろ考えると日本語の全文検索もMySQLがいいね!
blogサービスの全文検索の話 - #groonga を囲む夕べ
blogサービスの全文検索の話 - #groonga を囲む夕べ
How to backup your mroonga database?
How to backup your mroonga database?
Devsの常識、DBAは非常識
Devsの常識、DBAは非常識
MySQL勉強会 インデックス編.2013 08-02
MySQL勉強会 インデックス編.2013 08-02
MySQL 5.7が魅せる新しい運用の形
MySQL 5.7が魅せる新しい運用の形
Oracle how-to-audit-backup
Oracle how-to-audit-backup
ペパボ de MySQL
ペパボ de MySQL
MySQLと組み合わせて始める全文検索プロダクト"elasticsearch"
MySQLと組み合わせて始める全文検索プロダクト"elasticsearch"
MySQLerの7つ道具
MySQLerの7つ道具
今から備えるMySQL最新バージョン5.7
今から備えるMySQL最新バージョン5.7
MySQL 5.7 InnoDB 日本語全文検索(その2)
MySQL 5.7 InnoDB 日本語全文検索(その2)
MySQLユーザ視点での小さく始めるElasticsearch
MySQLユーザ視点での小さく始めるElasticsearch
[D14] MySQL 5.6時代のパフォーマンスチューニング *db tech showcase 2013 Tokyo
[D14] MySQL 5.6時代のパフォーマンスチューニング *db tech showcase 2013 Tokyo
Handlerさんコンニチワ
Handlerさんコンニチワ
MySQL 5.7にやられないためにおぼえておいてほしいこと
MySQL 5.7にやられないためにおぼえておいてほしいこと
とあるイルカのバーボンハウス
とあるイルカのバーボンハウス
わかった気になるMySQL
わかった気になるMySQL
Elasticsearch Authプラグインでアクセスコントロール
Elasticsearch Authプラグインでアクセスコントロール
MySQLアンチパターン
MySQLアンチパターン
Andere mochten auch
O/R Mapper Stratumの話
O/R Mapper Stratumの話
SATOSHI TAGOMORI
SQLドリルの話(仮)
SQLドリルの話(仮)
Yuuki Tan-nai
マスタN対スレーブ1レプリケーションの作り方 ~あれから~
マスタN対スレーブ1レプリケーションの作り方 ~あれから~
do_aki
Mysql casual talks vol4
Mysql casual talks vol4
matsuo kenji
mysql casual #4
mysql casual #4
kenji naito
MySQL Casual Talks Vol.4 「MySQL-5.6で始める全文検索 〜InnoDB FTS編〜」
MySQL Casual Talks Vol.4 「MySQL-5.6で始める全文検索 〜InnoDB FTS編〜」
Kentaro Yoshida
SQLアンチパターン(インデックスショットガン)
SQLアンチパターン(インデックスショットガン)
Tomoaki Uchida
Andere mochten auch
(7)
O/R Mapper Stratumの話
O/R Mapper Stratumの話
SQLドリルの話(仮)
SQLドリルの話(仮)
マスタN対スレーブ1レプリケーションの作り方 ~あれから~
マスタN対スレーブ1レプリケーションの作り方 ~あれから~
Mysql casual talks vol4
Mysql casual talks vol4
mysql casual #4
mysql casual #4
MySQL Casual Talks Vol.4 「MySQL-5.6で始める全文検索 〜InnoDB FTS編〜」
MySQL Casual Talks Vol.4 「MySQL-5.6で始める全文検索 〜InnoDB FTS編〜」
SQLアンチパターン(インデックスショットガン)
SQLアンチパターン(インデックスショットガン)
Ähnlich wie Index shotgun on mysql5.6
MySQL clients
MySQL clients
yoku0825
道具を磨くことのススメ
道具を磨くことのススメ
Kenichi Masuda
20160929 inno db_fts_jp
20160929 inno db_fts_jp
yoyamasaki
20160929_InnoDBの全文検索を使ってみた by 株式会社インサイトテクノロジー 中村範夫
20160929_InnoDBの全文検索を使ってみた by 株式会社インサイトテクノロジー 中村範夫
Insight Technology, Inc.
MySQLチューニング
MySQLチューニング
yoku0825
沖縄オープンラボラトリ OpenStackハンズオンセミナー午後1
沖縄オープンラボラトリ OpenStackハンズオンセミナー午後1
Hideki Saito
Maatkit で MySQL チューニング
Maatkit で MySQL チューニング
Kensuke Nagae
PostgreSQL使いのエンジニアから見たMySQL
PostgreSQL使いのエンジニアから見たMySQL
toshihiro_kitagawa
まだ統計固定で消耗してるの? - Bind Peek をもっと使おうぜ! 2015 Edition -
まだ統計固定で消耗してるの? - Bind Peek をもっと使おうぜ! 2015 Edition -
歩 柴田
5 古雷my sql源碼與資料庫規範
5 古雷my sql源碼與資料庫規範
Ivan Tu
Autonomous Database で Oracle Database19c 新機能 を味わう。
Autonomous Database で Oracle Database19c 新機能 を味わう。
歩 柴田
What's New in MySQL 5.7 Optimizer @MySQL User Conference Tokyo 2015
What's New in MySQL 5.7 Optimizer @MySQL User Conference Tokyo 2015
Mikiya Okuno
Introduction of Oracle Database Architecture(抜粋版) - JPOUG Oracle Database入学式 ...
Introduction of Oracle Database Architecture(抜粋版) - JPOUG Oracle Database入学式 ...
Ryota Watabe
2016/12/15 SQLチューニングと対戦格闘ゲームの類似性について語る。 JPOUG Advent Calendar 2016 Day 15
2016/12/15 SQLチューニングと対戦格闘ゲームの類似性について語る。 JPOUG Advent Calendar 2016 Day 15
歩 柴田
[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能
[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能
Ryusuke Kajiyama
あなたの知らないPostgreSQL監視の世界
あなたの知らないPostgreSQL監視の世界
Yoshinori Nakanishi
MySQL 開発最新動向
MySQL 開発最新動向
yoyamasaki
2017年5月26日 オープンソースデータベース比較セミナー「NoSQLとしても使えるMySQLとMySQL Cluster」
2017年5月26日 オープンソースデータベース比較セミナー「NoSQLとしても使えるMySQLとMySQL Cluster」
Ryusuke Kajiyama
POWER8サーバでMariaDBベンチマーク
POWER8サーバでMariaDBベンチマーク
NHN テコラス株式会社
Q4 Mでメッセージキュー
Q4 Mでメッセージキュー
ngi group.
Ähnlich wie Index shotgun on mysql5.6
(20)
MySQL clients
MySQL clients
道具を磨くことのススメ
道具を磨くことのススメ
20160929 inno db_fts_jp
20160929 inno db_fts_jp
20160929_InnoDBの全文検索を使ってみた by 株式会社インサイトテクノロジー 中村範夫
20160929_InnoDBの全文検索を使ってみた by 株式会社インサイトテクノロジー 中村範夫
MySQLチューニング
MySQLチューニング
沖縄オープンラボラトリ OpenStackハンズオンセミナー午後1
沖縄オープンラボラトリ OpenStackハンズオンセミナー午後1
Maatkit で MySQL チューニング
Maatkit で MySQL チューニング
PostgreSQL使いのエンジニアから見たMySQL
PostgreSQL使いのエンジニアから見たMySQL
まだ統計固定で消耗してるの? - Bind Peek をもっと使おうぜ! 2015 Edition -
まだ統計固定で消耗してるの? - Bind Peek をもっと使おうぜ! 2015 Edition -
5 古雷my sql源碼與資料庫規範
5 古雷my sql源碼與資料庫規範
Autonomous Database で Oracle Database19c 新機能 を味わう。
Autonomous Database で Oracle Database19c 新機能 を味わう。
What's New in MySQL 5.7 Optimizer @MySQL User Conference Tokyo 2015
What's New in MySQL 5.7 Optimizer @MySQL User Conference Tokyo 2015
Introduction of Oracle Database Architecture(抜粋版) - JPOUG Oracle Database入学式 ...
Introduction of Oracle Database Architecture(抜粋版) - JPOUG Oracle Database入学式 ...
2016/12/15 SQLチューニングと対戦格闘ゲームの類似性について語る。 JPOUG Advent Calendar 2016 Day 15
2016/12/15 SQLチューニングと対戦格闘ゲームの類似性について語る。 JPOUG Advent Calendar 2016 Day 15
[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能
[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能
あなたの知らないPostgreSQL監視の世界
あなたの知らないPostgreSQL監視の世界
MySQL 開発最新動向
MySQL 開発最新動向
2017年5月26日 オープンソースデータベース比較セミナー「NoSQLとしても使えるMySQLとMySQL Cluster」
2017年5月26日 オープンソースデータベース比較セミナー「NoSQLとしても使えるMySQLとMySQL Cluster」
POWER8サーバでMariaDBベンチマーク
POWER8サーバでMariaDBベンチマーク
Q4 Mでメッセージキュー
Q4 Mでメッセージキュー
Mehr von yoku0825
逝くぞ最新版、罠の貯蔵は十分か
逝くぞ最新版、罠の貯蔵は十分か
yoku0825
MySQLレプリケーションあれやこれや
MySQLレプリケーションあれやこれや
yoku0825
MySQL 8.0で憶えておいてほしいこと
MySQL 8.0で憶えておいてほしいこと
yoku0825
片手間MySQLチューニング戦略
片手間MySQLチューニング戦略
yoku0825
MySQLを割と一人で300台管理する技術
MySQLを割と一人で300台管理する技術
yoku0825
Dockerイメージで誰でも気軽にMroonga体験
Dockerイメージで誰でも気軽にMroonga体験
yoku0825
MySQLerの7つ道具 plus
MySQLerの7つ道具 plus
yoku0825
MHAの次を目指す mikasafabric for MySQL
MHAの次を目指す mikasafabric for MySQL
yoku0825
5.7の次のMySQL
5.7の次のMySQL
yoku0825
mikasafabric for MySQL
mikasafabric for MySQL
yoku0825
とあるイルカの近況報告
とあるイルカの近況報告
yoku0825
MySQL Fabricでぼっこぼこにされたはなし
MySQL Fabricでぼっこぼこにされたはなし
yoku0825
MySQLと正規形のはなし
MySQLと正規形のはなし
yoku0825
MySQLおじさんの逆襲
MySQLおじさんの逆襲
yoku0825
地雷職人の朝は早い
地雷職人の朝は早い
yoku0825
イルカさんチームからゾウさんチームに教えたいMySQLレプリケーション
イルカさんチームからゾウさんチームに教えたいMySQLレプリケーション
yoku0825
雑なMySQLパフォーマンスチューニング
雑なMySQLパフォーマンスチューニング
yoku0825
紹介 of Anemometer
紹介 of Anemometer
yoku0825
MySQL5.7で遊んでみよう
MySQL5.7で遊んでみよう
yoku0825
Mehr von yoku0825
(19)
逝くぞ最新版、罠の貯蔵は十分か
逝くぞ最新版、罠の貯蔵は十分か
MySQLレプリケーションあれやこれや
MySQLレプリケーションあれやこれや
MySQL 8.0で憶えておいてほしいこと
MySQL 8.0で憶えておいてほしいこと
片手間MySQLチューニング戦略
片手間MySQLチューニング戦略
MySQLを割と一人で300台管理する技術
MySQLを割と一人で300台管理する技術
Dockerイメージで誰でも気軽にMroonga体験
Dockerイメージで誰でも気軽にMroonga体験
MySQLerの7つ道具 plus
MySQLerの7つ道具 plus
MHAの次を目指す mikasafabric for MySQL
MHAの次を目指す mikasafabric for MySQL
5.7の次のMySQL
5.7の次のMySQL
mikasafabric for MySQL
mikasafabric for MySQL
とあるイルカの近況報告
とあるイルカの近況報告
MySQL Fabricでぼっこぼこにされたはなし
MySQL Fabricでぼっこぼこにされたはなし
MySQLと正規形のはなし
MySQLと正規形のはなし
MySQLおじさんの逆襲
MySQLおじさんの逆襲
地雷職人の朝は早い
地雷職人の朝は早い
イルカさんチームからゾウさんチームに教えたいMySQLレプリケーション
イルカさんチームからゾウさんチームに教えたいMySQLレプリケーション
雑なMySQLパフォーマンスチューニング
雑なMySQLパフォーマンスチューニング
紹介 of Anemometer
紹介 of Anemometer
MySQL5.7で遊んでみよう
MySQL5.7で遊んでみよう
Kürzlich hochgeladen
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
WSO2
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Hiroshi Tomioka
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
sn679259
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
Kürzlich hochgeladen
(11)
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
Index shotgun on mysql5.6
1.
Index Shotgun on MySQL
5.6(provisional) 2013/04/17 yoku0825 Modified version 2
2.
I’m yoku0825, working as
DBA for the company’s web-service. My wife’s husband, my son’s father, lovin’ MySQL and Hannari-Tofu too much. I can’t even log in to PostgreSQL and Oracle but I’m fine! :)
3.
Have you read `SQL
Antipatterns’?
4.
`Index Shotgun’ is
one of the Antipatterns described in it.
5.
In Japanese.
6.
(;´д`) 索引大杉
7.
And I saw
`Shotguned Index' at our MySQL. なんとIndex_lengthがData_lengthの4倍。
8.
( ´-`).oO(標準から見て 4倍が多すぎるのかどうかは 判らない だけど、本の索引が本文の4倍もあったら嫌だ
9.
By the way,
Why is shotguned index Antipattern? Or "How much does it decrease performance?"
10.
測ってみた CPU Xeon L5520 2.27GHz
1P4C8T Memory 12GiB(don't know any details) Storage RAID Controller(RAID5, 8PD) read 2450MiB/s, 3950IOPS write 2450MiB/s, 3900IOPS ext4 on LVM(noatimeしてない) my.cnf [mysqld] query-cache-type = 0 loose-innodb-buffer-pool-size = 1G loose-innodb-buffer-pool-instances = 1 loose-innodb-log-file-size = 128M loose-innodb-file-per-table = 1 loose-innodb-file-format = barracuda
11.
測ってみた +--------------+------------------+------+-----+-------------------+-------+ | Field |
Type | Null | Key | Default | Extra | +--------------+------------------+------+-----+-------------------+-------+ | num | int(10) unsigned | NO | | 0 | | | md5 | varchar(32) | YES | | NULL | | | sha | varchar(40) | YES | | NULL | | | old_password | varchar(16) | YES | | NULL | | | password | varchar(41) | YES | | NULL | | | timeval | timestamp | NO | | CURRENT_TIMESTAMP | | +--------------+------------------+------+-----+-------------------+-------+ 1行あたり140bytes。 テストデータ1000万行をひたすらINSERTする苦行。 データは1.4GiB。
12.
InnoDB(5.5) - INSERT
duration 0:00:00 0:07:12 0:14:24 0:21:36 0:28:48 0:36:00 0:43:12 0:50:24 0:57:36 1:04:48 1:12:00 no key pri(4) pri(4) + 1key(32) pri(4) + 1key(72) pri(4) + 1key(88) pri(4) + 1key(129) pri(4) + 3key(12) pri(4) + 3key(76) pri(4) + 3key(144) pri(4) + 3key(160)
13.
InnoDB(5.5) - size 0 1,000,000,000 2,000,000,000 3,000,000,000 4,000,000,000 5,000,000,000 6,000,000,000 no
key pri(4) pri(4) + 1key(32) pri(4) + 1key(72) pri(4) + 1key(88) pri(4) + 1key(129) pri(4) + 3key(12) pri(4) + 3key(76) pri(4) + 3key(144) pri(4) + 3key(160)
14.
• 72byteのKey1つと合計76byteになるKey3つで はそんなに変わらなさそう。 • 1行140bytesしかないテーブルなので、イン デックスの作成がもろにテーブル全体のサイ ズに影響する –
社内で出会った炸裂インデックスももともとは.ibd ファイルでっかくね? からだった。
15.
散弾銃索引退治 • 取り敢えず重複インデックスがあったから消 した(基本) • 本当はもうちょっと削りたい。 –
なんか上手い具合にINDEXの使われ度合いを測 れないもんかな? – Percona ServerやMariaDBには、そのインデックス を使って何行フェッチしたか統計を取る information_schemaが突っ込まれている。
16.
pt-duplicate-key-entry Percona Toolkitの1つで、重複インデックスを検出してくれる。 $ pt-duplicate-key-checker
S=/usr/mysql/5.5.30/data/mysql.sock,u=tpcc,p=xxxx --database=tpcc # ######################################################################## # tpcc.stock # ######################################################################## # s_w_id is a left-prefix of PRIMARY # Key definitions: # KEY `s_w_id` (`s_w_id`), # PRIMARY KEY (`s_w_id`,`s_i_id`), # Column types: # `s_w_id` smallint(6) not null # `s_i_id` int(11) not null # To remove this duplicate index, execute: ALTER TABLE `tpcc`.`stock` DROP INDEX `s_w_id`; # ######################################################################## # Summary of indexes # ######################################################################## # Size Duplicate Indexes 2 # Total Duplicate Indexes 1 # Total Indexes 25 http://www.percona.com/doc/percona-toolkit/2.1/pt-duplicate-key-checker.html まずこれを退治。
17.
information_schema.INNODB_BUFFER_PAGE • 5.6.2から搭載された – 5.5.28,
5.1.66にもバックポートされてる (5.1.66はplugin-loadで食わせてやる必要がある) • InnoDB Buffer Poolにどんなページが載ってる のかがinformation_schemaからアクセスでき る。 – これで載ってるインデックスページ調べれば幸せ になれるんじゃない? とか思った。
18.
information_schema.INNODB_BUFFER_PAGE_LRU +---------------------+---------------------+------+-----+---------+-------+ | Field |
Type | Null | Key | Default | Extra | +---------------------+---------------------+------+-----+---------+-------+ | POOL_ID | bigint(21) unsigned | NO | | 0 | | | LRU_POSITION | bigint(21) unsigned | NO | | 0 | | LRUリストの位置 | SPACE | bigint(21) unsigned | NO | | 0 | | | PAGE_NUMBER | bigint(21) unsigned | NO | | 0 | | | PAGE_TYPE | varchar(64) | YES | | NULL | | UNDO_LOG, INDEX, SYSTEMとか | FLUSH_TYPE | bigint(21) unsigned | NO | | 0 | | | FIX_COUNT | bigint(21) unsigned | NO | | 0 | | | IS_HASHED | varchar(3) | YES | | NULL | | | NEWEST_MODIFICATION | bigint(21) unsigned | NO | | 0 | | このページを最後に更新したLSN | OLDEST_MODIFICATION | bigint(21) unsigned | NO | | 0 | | このページを最初に更新したLSN | ACCESS_TIME | bigint(21) unsigned | NO | | 0 | | 初めてバッファプールに載った時間 | TABLE_NAME | varchar(1024) | YES | | NULL | | | INDEX_NAME | varchar(1024) | YES | | NULL | | | NUMBER_RECORDS | bigint(21) unsigned | NO | | 0 | | そのページに載っている行 | DATA_SIZE | bigint(21) unsigned | NO | | 0 | | そのページに載っているByte数 | COMPRESSED_SIZE | bigint(21) unsigned | NO | | 0 | | | COMPRESSED | varchar(3) | YES | | NULL | | | IO_FIX | varchar(64) | YES | | NULL | | | IS_OLD | varchar(3) | YES | | NULL | | OLDページかどうか | FREE_PAGE_CLOCK | bigint(21) unsigned | NO | | 0 | | ページがLRUリストから落ちるとインクリメント +---------------------+---------------------+------+-----+---------+-------+
19.
information_schema.INNODB_BUFFER_PAGE_LRU • とりあえず起動直後の状態をチェック。innodb_buffer_pool_size =
5M(=256ページ) mysql56> SELECT lru_position, table_name, index_name, number_records AS num, data_size, is_old, newest_modification AS LSN, access_time FROM innodb_buffer_page_lru WHERE page_type = 'INDEX'; +--------------+--------------------------------+-----------------------+-----+-----------+--------+-----+-------------+ | lru_position | table_name | index_name | num | data_size | is_old | LSN | access_time | +--------------+--------------------------------+-----------------------+-----+-----------+--------+-----+-------------+ | 210 | `SYS_IBUF_TABLE` | CLUST_IND | 0 | 0 | NO | 0 | 1153626747 | | 218 | `mysql`.`innodb_index_stats` | PRIMARY | 46 | 4060 | NO | 0 | 1153626732 | | 219 | `mysql`.`innodb_table_stats` | PRIMARY | 11 | 635 | NO | 0 | 1153626720 | | 220 | `SYS_TABLES` | ID_IND | 20 | 613 | NO | 0 | 1153626698 | | 221 | `SYS_TABLES` | CLUST_IND | 20 | 1513 | NO | 0 | 1153626661 | | 222 | `SYS_COLUMNS` | CLUST_IND | 103 | 6784 | NO | 0 | 1153626696 | | 223 | `SYS_DATAFILES` | SYS_DATAFILES_SPACE | 16 | 766 | NO | 0 | 1153626748 | | 224 | `SYS_TABLESPACES` | SYS_TABLESPACES_SPACE | 16 | 750 | NO | 0 | 1153626748 | | 225 | `SYS_INDEXES` | CLUST_IND | 25 | 1715 | NO | 0 | 1153626695 | | 240 | `SYS_FIELDS` | CLUST_IND | 30 | 1274 | NO | 0 | 1153626696 | | 241 | `SYS_FOREIGN` | FOR_IND | 4 | 148 | NO | 0 | 1153626696 | | 242 | `SYS_FOREIGN` | ID_IND | 4 | 280 | NO | 0 | 1153626768 | | 243 | `SYS_FOREIGN_COLS` | ID_IND | 4 | 246 | NO | 0 | 1153626768 | | 244 | `SYS_FOREIGN` | REF_IND | 4 | 152 | NO | 0 | 1153626696 | | 245 | `test`.`item` | PRIMARY | 17 | 938 | NO | 0 | 1153626777 | | 247 | `mysql`.`slave_master_info` | PRIMARY | 0 | 0 | NO | 0 | 1153626963 | | 250 | `mysql`.`slave_worker_info` | PRIMARY | 0 | 0 | NO | 0 | 1153626975 | | 253 | `mysql`.`slave_relay_log_info` | PRIMARY | 0 | 0 | NO | 0 | 1153626984 | +--------------+--------------------------------+-----------------------+-----+-----------+--------+-----+-------------+ 18 rows in set (0.01 sec) – lru_positionは大きい方が最近ぽい。 – そういえばmysql.slave_*はInnoDBだっけ。
20.
information_schema.INNODB_BUFFER_PAGE_LRU • テーブル1つ(test.brand)スキャンしてみる。 mysql56> SELECT
lru_position, table_name, index_name, number_records AS num, data_size, is_old, newest_modification AS LSN, access_time FROM innodb_buffer_page_lru WHERE page_type = 'INDEX'; +--------------+--------------------------------+-----------------------+-----+-----------+--------+-----+-------------+ | lru_position | table_name | index_name | num | data_size | is_old | LSN | access_time | +--------------+--------------------------------+-----------------------+-----+-----------+--------+-----+-------------+ | 208 | `SYS_IBUF_TABLE` | CLUST_IND | 0 | 0 | NO | 0 | 1153626747 | | 216 | `mysql`.`innodb_table_stats` | PRIMARY | 11 | 635 | NO | 0 | 1153626720 | | 217 | `SYS_TABLES` | ID_IND | 20 | 613 | NO | 0 | 1153626698 | | 218 | `SYS_DATAFILES` | SYS_DATAFILES_SPACE | 16 | 766 | NO | 0 | 1153626748 | | 219 | `SYS_TABLESPACES` | SYS_TABLESPACES_SPACE | 16 | 750 | NO | 0 | 1153626748 | | 234 | `test`.`item` | PRIMARY | 17 | 938 | NO | 0 | 1153626777 | | 236 | `mysql`.`slave_master_info` | PRIMARY | 0 | 0 | NO | 0 | 1153626963 | | 239 | `mysql`.`slave_worker_info` | PRIMARY | 0 | 0 | NO | 0 | 1153626975 | | 242 | `mysql`.`slave_relay_log_info` | PRIMARY | 0 | 0 | NO | 0 | 1153626984 | | 245 | `SYS_TABLES` | CLUST_IND | 20 | 1513 | NO | 0 | 1153626661 | | 246 | `SYS_COLUMNS` | CLUST_IND | 103 | 6784 | NO | 0 | 1153626696 | | 247 | `SYS_INDEXES` | CLUST_IND | 25 | 1715 | NO | 0 | 1153626695 | | 248 | `SYS_FIELDS` | CLUST_IND | 30 | 1274 | NO | 0 | 1153626696 | | 249 | `SYS_FOREIGN` | FOR_IND | 4 | 148 | NO | 0 | 1153626696 | | 250 | `SYS_FOREIGN` | ID_IND | 4 | 280 | NO | 0 | 1153626768 | | 251 | `SYS_FOREIGN_COLS` | ID_IND | 4 | 246 | NO | 0 | 1153626768 | | 252 | `SYS_FOREIGN` | REF_IND | 4 | 152 | NO | 0 | 1153626696 | | 253 | `mysql`.`innodb_index_stats` | PRIMARY | 46 | 4060 | NO | 0 | 1153626732 | | 254 | `test`.`brand` | PRIMARY | 10 | 575 | NO | 0 | 1154017292 | +--------------+--------------------------------+-----------------------+-----+-----------+--------+-----+-------------+ 19 rows in set (0.01 sec) – lru_position 254に載ったから、やっぱりこっちがyoung側の気がする。 – でもミッドポイント挿入戦略とかいうのがなかったっけ。 – SELECTしただけだからnewest_modificationはからっぽ、access_timeは記録される。
21.
information_schema.INNODB_BUFFER_PAGE_LRU • test.brandに1行INSERTしてみる。 mysql56> SELECT
lru_position, table_name, index_name, number_records AS num, data_size, is_old, newest_modification AS LSN, access_time FROM innodb_buffer_page_lru WHERE page_type = 'INDEX'; +--------------+--------------------------------+-----------------------+-----+-----------+--------+-----------+-------------+ | lru_position | table_name | index_name | num | data_size | is_old | LSN | access_time | +--------------+--------------------------------+-----------------------+-----+-----------+--------+-----------+-------------+ | 202 | `SYS_IBUF_TABLE` | CLUST_IND | 0 | 0 | NO | 0 | 1153626747 | | 210 | `mysql`.`innodb_table_stats` | PRIMARY | 11 | 635 | NO | 0 | 1153626720 | | 211 | `SYS_TABLES` | ID_IND | 20 | 613 | NO | 0 | 1153626698 | | 212 | `SYS_DATAFILES` | SYS_DATAFILES_SPACE | 16 | 766 | NO | 0 | 1153626748 | | 213 | `SYS_TABLESPACES` | SYS_TABLESPACES_SPACE | 16 | 750 | NO | 0 | 1153626748 | | 228 | `test`.`item` | PRIMARY | 17 | 938 | NO | 0 | 1153626777 | | 230 | `mysql`.`slave_master_info` | PRIMARY | 0 | 0 | NO | 0 | 1153626963 | | 233 | `mysql`.`slave_worker_info` | PRIMARY | 0 | 0 | NO | 0 | 1153626975 | | 236 | `mysql`.`slave_relay_log_info` | PRIMARY | 0 | 0 | NO | 0 | 1153626984 | | 239 | `SYS_TABLES` | CLUST_IND | 20 | 1513 | NO | 0 | 1153626661 | | 240 | `SYS_COLUMNS` | CLUST_IND | 103 | 6784 | NO | 0 | 1153626696 | | 241 | `SYS_INDEXES` | CLUST_IND | 25 | 1715 | NO | 0 | 1153626695 | | 242 | `SYS_FIELDS` | CLUST_IND | 30 | 1274 | NO | 0 | 1153626696 | | 243 | `SYS_FOREIGN` | FOR_IND | 4 | 148 | NO | 0 | 1153626696 | | 244 | `SYS_FOREIGN` | ID_IND | 4 | 280 | NO | 0 | 1153626768 | | 245 | `SYS_FOREIGN_COLS` | ID_IND | 4 | 246 | NO | 0 | 1153626768 | | 246 | `SYS_FOREIGN` | REF_IND | 4 | 152 | NO | 0 | 1153626696 | | 247 | `mysql`.`innodb_index_stats` | PRIMARY | 46 | 4060 | NO | 0 | 1153626732 | | 248 | `test`.`brand` | PRIMARY | 11 | 614 | NO | 319272605 | 1154017292 | | 252 | `test`.`factory` | PRIMARY | 4 | 254 | NO | 0 | 1154232813 | | 254 | `test`.`brand` | maker | 11 | 360 | NO | 319272654 | 1154232814 | +--------------+--------------------------------+-----------------------+-----+-----------+--------+-----------+-------------+ 21 rows in set (0.01 sec) – test.factoryが読み込まれたのは、FOREIGN KEYを切ってるからっぽい(FOREIGN KEYを消すと載らない) – PRIMARY INDEXとmaker INDEXがそれぞれLSNが記録されてる。
22.
ということは • LSNが記録されていない(=0)のレコードはSELECTだけさ れてるやつだから使われているって根拠になりそう。 – LNS
<> 0で検索してみようか。 • SELECTで特定のINDEXを使った場合はそのINDEX(と データフェッチ用にPRIMARY KEY)だけが載るので、 テーブル上の全部のインデックスがリストされている = INSERTで載ったと思えそう。 – information_schema.statisticsとJOINして相関サブクエリで ゴニョゴニョやろうとしたらものすごく重くなったので断念。。 – information_schemaってテンポラリテーブルみたいに毎回 データをストアしてるぽいので、相関サブクエリだと確か に悲惨になるよね。。
23.
と思ったんですが • 本番に5.5.28(以降)が2台しかなかった。 • しかもその2台(Master
& Slave)はバッファプールがガラガ ラだった。 • とりあえず、newest_modification = 0のページは無かった。。 – 一度LRUリストから落ちて次に読み込まれると、 newest_modificationは0に戻るのね。 • あと、InnoDB Compressed使ってるのですんごく innodb_buffer_page_lruへのアクセスが重い。 • Master & Slaveで分散させてると、そのチェック結果をマー ジしないとダメそうだよね。。 • あと、access_timeがミリ秒単位のUNIXTIMEを32bit unsignedで受け取っているので、49.7日くらいでオーバー フローする。。
24.
Percona Serverの information_schema. INDEX_STATISTICSみたいに ずぱっとどれくらい使ってるのか判るわけじゃない。 mysql>
SET GLOBAL userstat=on; .. mysql> SELECT * FROM index_statistics; +--------------+------------+------------+-----------+ | TABLE_SCHEMA | TABLE_NAME | INDEX_NAME | ROWS_READ | +--------------+------------+------------+-----------+ | tpcc | item | PRIMARY | 100000 | +--------------+------------+------------+-----------+ 1 row in set (0.00 sec) いやこれもどのインデックス使ってないかっていう銀の弾丸じゃないけど。
25.
上手く考察する方法求む
26.
By the way,
27.
Where does it
go “on MySQL 5.6(provisional)”?
28.
5.5と5.6で比較したんですが、 有意差が出ないという `比べてみた’ネタとしては最悪の結果になったので
29.
Upgrading 5.6 from
5.5 hasn’t effect on shotguned indexes.
30.
という結論になりました。 ごめんなさいごめんなさい。
31.
でもinnodb_buffer_page_lruは楽しかったです。 上手いこと分析したい。
32.
ご清聴ありがとうございました
Jetzt herunterladen