sql >> Databáze >  >> RDS >> Sqlserver

Doporučte použití dočasné tabulky nebo proměnné tabulky v Entity Framework 4. Aktualizujte rámec Entity Performance

U objemů dat jako 300k řádků bych na EF zapomněl. Udělal bych to tak, že bych měl tabulku jako:

BatchId  RowId

Kde RowId je PK řádku, který chceme aktualizovat, a BatchId pouze odkazuje na tento „běh“ 300 000 řádků (pro umožnění více najednou atd.).

Vygeneroval bych nové BatchId (může to být cokoli jedinečného - Průvodce mi vyskočí na mysl) a pomocí SqlBulkCopy vložím záznamy do této tabulky, tj.

100034   17
100034   22
...
100034   134556

K připojení a aktualizaci (a odstranění dávky z tabulky) bych pak použil jednoduchý sproc.

SqlBulkCopy je nejrychlejší způsob, jak dostat tento objem dat na server; ve zpátečních cestách se neutopíte. EF je objektově orientovaný:vhodný pro mnoho scénářů – ale ne tento.



  1. Přejmenování klíče hstore v PostgreSQL 9.2

  2. Existuje nějaká hashovací funkce v PL/SQL?

  3. PHPpgAdmin:Jak odstranit řádky bez použití SQL

  4. Volání uložené procedury Oracle pomocí Entity Framework s výstupním parametrem?