range partitioning:used for data that can be separated into ranges based on some criterion i.e. date, part number, ID's.
list partitioning:used for data that can be separated into lists based on some criterion i.e. city, territory.
hash partitioning:if data in a range partition is not evenly distributed (lots of data for one particular date) then performance decreases, hash partitioning uses hashing algorithms to assign a hash value to each rows partitioning key and place it in the appropriate partition. Hopefully the data will be evenly distributed across the partitions.
key partitioning:An internal algorithm is used by mysqld to try and evenly distribute the data across the partitions, a field called the key column is used for the determination of data.
list partitioning:used for data that can be separated into lists based on some criterion i.e. city, territory.
hash partitioning:if data in a range partition is not evenly distributed (lots of data for one particular date) then performance decreases, hash partitioning uses hashing algorithms to assign a hash value to each rows partitioning key and place it in the appropriate partition. Hopefully the data will be evenly distributed across the partitions.
key partitioning:An internal algorithm is used by mysqld to try and evenly distribute the data across the partitions, a field called the key column is used for the determination of data.