> For the complete documentation index, see [llms.txt](https://mariadb.com/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://mariadb.com/docs/server/server-usage/partitioning-tables/partitioning-types.md).

# Partitioning Types

{% columns %}
{% column %}
{% content-ref url="/pages/tmdcnt5rqJ5YJdHDIb5b" %}
[Partitioning Types Overview](/docs/server/server-usage/partitioning-tables/partitioning-types/partitioning-types-overview.md)
{% endcontent-ref %}
{% endcolumn %}

{% column %}
An introduction to the various partitioning strategies available in MariaDB, helping you choose the right method for your data distribution needs.
{% endcolumn %}
{% endcolumns %}

{% columns %}
{% column %}
{% content-ref url="/pages/xfVMot7JEMm2UtmILU4R" %}
[HASH Partitioning Type](/docs/server/server-usage/partitioning-tables/partitioning-types/hash-partitioning-type.md)
{% endcontent-ref %}
{% endcolumn %}

{% column %}
Learn about HASH partitioning, which distributes data based on a user-defined expression to ensure an even spread of rows across partitions.
{% endcolumn %}
{% endcolumns %}

{% columns %}
{% column %}
{% content-ref url="/pages/IR6NSqdUqgL1aT1USUMS" %}
[KEY Partitioning Type](/docs/server/server-usage/partitioning-tables/partitioning-types/key-partitioning-type.md)
{% endcontent-ref %}
{% endcolumn %}

{% column %}
Understand KEY partitioning, similar to HASH but using MariaDB's internal hashing function on one or more columns to distribute data.
{% endcolumn %}
{% endcolumns %}

{% columns %}
{% column %}
{% content-ref url="/pages/jrhuzWUO2CV7w9RJEgaq" %}
[LINEAR HASH Partitioning Type](/docs/server/server-usage/partitioning-tables/partitioning-types/linear-hash-partitioning-type.md)
{% endcontent-ref %}
{% endcolumn %}

{% column %}
Explore LINEAR HASH partitioning, a variation of HASH that uses a powers-of-two algorithm for faster partition management at the cost of distribution.
{% endcolumn %}
{% endcolumns %}

{% columns %}
{% column %}
{% content-ref url="/pages/kOfEJn1y0k0Nel17vMb0" %}
[LINEAR KEY Partitioning Type](/docs/server/server-usage/partitioning-tables/partitioning-types/linear-key-partitioning-type.md)
{% endcontent-ref %}
{% endcolumn %}

{% column %}
Learn about LINEAR KEY partitioning, which combines the internal key hashing with a linear algorithm for efficient partition handling.
{% endcolumn %}
{% endcolumns %}

{% columns %}
{% column %}
{% content-ref url="/pages/IHtkUbNDesuy1oyZj9A9" %}
[LIST Partitioning Type](/docs/server/server-usage/partitioning-tables/partitioning-types/list-partitioning-type.md)
{% endcontent-ref %}
{% endcolumn %}

{% column %}
Understand LIST partitioning, where rows are assigned to partitions based on whether a column value matches one in a defined list of values.
{% endcolumn %}
{% endcolumns %}

{% columns %}
{% column %}
{% content-ref url="/pages/ZXbEw22GOo6GAID9JZLO" %}
[RANGE COLUMNS and LIST COLUMNS Partitioning Types](/docs/server/server-usage/partitioning-tables/partitioning-types/range-columns-and-list-columns-partitioning-types.md)
{% endcontent-ref %}
{% endcolumn %}

{% column %}
Discover these variants that allow partitioning based on multiple columns and non-integer types, offering greater flexibility than standard RANGE/LIST.
{% endcolumn %}
{% endcolumns %}

{% columns %}
{% column %}
{% content-ref url="/pages/5agRzF2EEoceteUTosNO" %}
[RANGE Partitioning Type](/docs/server/server-usage/partitioning-tables/partitioning-types/range-partitioning-type.md)
{% endcontent-ref %}
{% endcolumn %}

{% column %}
The RANGE partitioning type assigns rows to partitions based on whether column values fall within contiguous, non-overlapping ranges.
{% endcolumn %}
{% endcolumns %}
