sql >> Databasteknik >  >> RDS >> Mysql

Optimera SSIS-paketet för miljontals rader med Ordna efter / sortera i SQL-kommandot och Merge Join

Jag har två rekommendationer:

Sortering på serversidan

I OLE DB Source ändra åtkomstläget till SQL Command. Och använd ORDER BY-satsen:

Select * from table ORDER BY col1, col2

Därefter bör du öppna OLE DB Source Advanced Editor (Högerklicka på OLE DB-källan, visa avancerad editor) gå till kolumnfliken och ändra utdataIsSorted egenskapen till True och ställ in ändra SortKeyPosition för kolumnerna som används i ORDER BY-satsen.

Läs data i bitar

Jag har inte goda kunskaper i MariaDB SQL-syntax men jag kommer att ge några exempel i SQLite och Oracle:

Uppdatering 1 - Paketproblem

Det finns några problem i paketet:

  • Du läser och skriver från samma bord
  • Du utför Uppdatera och ta bort tabeller för en stor mängd data
  • Du använder Merge Join

Några rekommendationer:

  • Försök att använda en mellanställningstabell istället för att läsa och skriva från samma tabell eftersom du läser, skriver, tar bort, uppdaterar från samma måltabell.
  • Använd partitionering i måltabellen som gör det möjligt att ta bort och uppdatera poster från en specifik partition istället för hela tabellen



  1. Hur får man ut skillnaden i år från två olika datum?

  2. POSTGRES kontrollera om ett angivet värde finns i kolumnen för typarray

  3. UUID eller SEQUENCE för primärnyckel?

  4. Skapa en pivottabell med PostgreSQL