Mysql
 sql >> Base de données >  >> RDS >> Mysql

Partitionnement et jointures MySQL

Les tables partitionnées peuvent être utilisées dans les jointures.

Ajustez le where clause pour n'inclure qu'une seule partition afin d'obtenir les meilleures performances.
par ex. si vous partitionnez par année, vous pouvez faire une jointure comme :

select * from a
inner join partioned_table p on (p.id = a.id)
where p.year = '2011';

Cette requête fonctionnera avec et sans la clause where, mais avec la clause where, ce sera beaucoup plus rapide car vous n'accédez qu'à une seule partition.
Si vous accédez à plusieurs partitions, MySQL doit utiliser une table temporaire pour assembler les partitions ensemble avant de pouvoir effectuer la jointure.
Ce type va à l'encontre de l'objectif des partitions.