Partitioning
2016年07月29日 MySQL パーティショニングまとめ - Qiita
テーブルをいくつかの区分けするのがPartitioning
MySQL :: MySQL 8.0 リファレンスマニュアル :: 24.1 MySQL のパーティショニングの概要
必要に応じて多くの部分を設定できるルールに従って、個々のテーブルの部分をファイルシステムに配分できるようにしています。 それにより、テーブルの異なる部分が別個のテーブルとして別個の場所に格納されます。
なんらかの関数によって生成されたパーティション番号に基づいて行を振り分ける(水平パーティショニング)
カラムごとに別の物理パーティションに分ける垂直パーティションはサポート予定なし
つまりこれってshardingだよね?
Data partitioning guidance - Azure Architecture Center | Microsoft DocsでもHorizontal partitioning often called shardingと書いてある
いろんな種類がある
指定範囲
値セット
ユーザー定義の式の値
など
https://recruit.gmo.jp/engineer/jisedai/blog/webapplication-in-high-load/
p.38
レコードを保存領域を分けて探索時間を探してる
100000000レコードではなくて10000000 x 100 partition
探索範囲が減る
【MySQL】データベースのパーティショニングとはなんぞやという話 - 備忘録の裏のチラシ
時系列パーティショニング
スキャンの範囲を局所化できるならパフォーマンスが上がる
テーブルスキャンが発生する場合効果が大きい