sql >> Databasteknik >  >> RDS >> Mysql

Mysql partitionering och joins

Avdelade bord kan användas i sammanfogningar.

Justera where klausul för att bara inkludera en partition för att få bästa prestanda.
t.ex. om du delar upp efter år kan du göra en gå med som:

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

Den här frågan kommer att fungera med och utan where-satsen, men med where-satsen blir den mycket snabbare eftersom du bara kommer åt en partition.
Om du kommer åt fler partitioner måste MySQL använda en tillfällig tabell för att sammanfoga partitionerna tillsammans innan det kan göra sammanfogningen.
Denna typ av besegrar syftet med partitioner.



  1. Återanvänds numeriska primärnycklar för raderade poster i en databas för framtida nya poster?

  2. Verkställighetsplanens inverkan på ASYNC_NETWORK_IO väntan – del 1

  3. Vad är det för fel på min SQL här? #1089 - Felaktig prefixnyckel

  4. Hur skapar och fyller man i en tabell i ett enda steg som en del av en CSV-importoperation?