Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Ефективност на bcp/BULK INSERT спрямо параметри с таблични стойности

Все още нямам опит с TVP, но има хубава диаграма за сравнение на ефективността спрямо BULK INSERT в MSDN тук .

Те казват, че BULK INSERT има по-високи разходи за стартиране, но е по-бърз след това. В сценария на отдалечен клиент те теглят границата на около 1000 реда (за "проста" сървърна логика). Съдейки по описанието им, бих казал, че трябва да се справите добре с използването на TVP. Ударът в производителността - ако има такъв - вероятно е незначителен и архитектурните предимства изглеждат много добри.

Редактиране:Като странична бележка можете да избегнете сървърния локален файл и все още да използвате масово копиране, като използвате обекта SqlBulkCopy. Просто попълнете DataTable и го подайте в метода "WriteToServer" на екземпляр на SqlBulkCopy. Лесен за използване и много бърз.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sql сървър актуализира няколко колони от друга таблица

  2. Запитване на SQL сървър за получаване на списъка с колони в таблица заедно с ограниченията типове данни, NOT NULL и PRIMARY KEY

  3. Какво прави 'COLLATE SQL_Latin1_General_CP1_CI_AS'?

  4. Инсталиране на клъстер за отказване на SQL сървър -1

  5. Използване на оператор IF ELSE въз основа на Count за изпълнение на различни оператори Insert