0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

データベースを基本からまとめてみた【パーティション】

0
Last updated at Posted at 2025-12-08

パーティション

  • DBの検索を速くするためにテーブルを内部的に分割する

店舗テーブル

ID 都道府県 店名 登録日
1 北海道 鶴亀食堂 2022年11月3日
2 東京 ラーメン一郎 2022年11月3日
3 東京 鶴亀食堂 2022年11月3日

⬇︎

テーブル パーティション
北海道 1
東京 2 3
大阪
SELECT * FROM 店舗テーブル
WHERE 都道府県=東京 AND 店名=鶴亀食堂

リストパーティション

  • キーカラムを固定値で分割する方法

レンジパーティション

  • キーカラムの値の範囲で分割する方法
ALTER TABLE 店舗テーブル PARTITION BY RANGE (YEAR(登録日))(
    PARTITION p2018 VALUES LESS THAN (2018) ENGINE = InnoDB,
    PARTITION p2019 VALUES LESS THAN (2019) ENGINE = InnoDB,
    PARTITION p2020 VALUES LESS THAN (2020) ENGINE = InnoDB,
    PARTITION pmax VALUES LESS THAN MAXVALUE
);

ハッシュパーティション

  • 均等に分割する方法

注意点

  • パーティションよりもまずはインデクス
  • WHERE句にキーカラムを含めること
  • 外部キー制約が使えない(MySQL)

参考サイト

【DB】パーティションとは?データベースのパフォーマンスを改善するパーティションの仕組み

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?