sql >> Databáze >  >> RDS >> Mysql

Optimalizace balíčku SSIS pro miliony řádků pomocí příkazu Order by / sort v příkazu SQL a Merge Join

Mám dvě doporučení:

Řazení na straně serveru

V OLE DB Source změňte režim přístupu na SQL Command. A použijte klauzuli ORDER BY:

Select * from table ORDER BY col1, col2

Poté byste měli otevřít pokročilý editor zdroje OLE DB (klikněte pravým tlačítkem na zdroj OLE DB, zobrazte pokročilý editor) přejděte na kartu sloupce a změňte výstupIsSorted vlastnost na True a nastavte změnu SortKeyPosition pro sloupce použité v klauzuli ORDER BY.

Čtení dat po částech

Nemám dobré znalosti v syntaxi MariaDB SQL, ale poskytnu nějaký příklad v SQLite a Oracle:

Aktualizace 1 – Problémy s balíčkem

V balíčku jsou nějaké problémy:

  • Čtete a píšete ze stejného stolu
  • Provádíte aktualizaci a odstranění tabulek u velkého množství dat
  • Používáte Merge Join

Některá doporučení:

  • Zkuste místo čtení a zápisu ze stejné tabulky použít pracovní tabulku, protože čtete, zapisujete, mažete a aktualizujete ze stejné cílové tabulky.
  • Použijte rozdělení na oddíly v cílové tabulce, které umožňuje mazat a aktualizovat záznamy z konkrétního oddílu namísto celé tabulky



  1. Změňte formát data MYSQL

  2. jediný dotaz pro tisk všech řádků, jejichž počet je větší než 10

  3. Datum v adrese URL dd/mm/rrrr

  4. Android - aktualizujte klientskou databázi sqlite pomocí GCM