Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Performance SQL Server 2008大容量插入导致的读取多于写入。为什么?_Performance_Sql Server 2008_Bulkinsert_Bulk Load - Fatal编程技术网

Performance SQL Server 2008大容量插入导致的读取多于写入。为什么?

Performance SQL Server 2008大容量插入导致的读取多于写入。为什么?,performance,sql-server-2008,bulkinsert,bulk-load,Performance,Sql Server 2008,Bulkinsert,Bulk Load,我有一个巨大的表(几十亿行),其中有一个聚集索引和两个非聚集索引 大容量插入操作产生112000次读取和383次写入(持续时间19948ms) 这让我很困惑。为什么读超过写?我怎样才能减少它 更新 质疑 没有触发器和外键 按DP_ID的聚类索引 和两个非唯一索引(fillfactor=90%) 还有一件事是,数据库存储在RAID50上,条带大小为256K,对于插入的每一行,数据库必须: 检查违禁品。唯一约束可能需要将索引读入内存。外键约束要求从另一个表读取 查找必须更新的页面(聚集索引和任何其

我有一个巨大的表(几十亿行),其中有一个聚集索引和两个非聚集索引

大容量插入操作产生112000次读取和383次写入(持续时间19948ms)

这让我很困惑。为什么读超过写?我怎样才能减少它

更新 质疑

没有触发器和外键 按DP_ID的聚类索引 和两个非唯一索引(fillfactor=90%)


还有一件事是,数据库存储在RAID50上,条带大小为256K,对于插入的每一行,数据库必须:

  • 检查违禁品。唯一约束可能需要将索引读入内存。外键约束要求从另一个表读取
  • 查找必须更新的页面(聚集索引和任何其他索引)
  • 运行表中定义的所有触发器

这些活动可能会导致大量读取,并且必须对每一行执行这些操作。因此,在一行插入中看到数百次读取是完全正常的。事实上,我认为这是一个健康的迹象,表明数据库正在工作。

没有足够的细节来准确回答…但是插入必须阅读以找到正确的插入位置…您需要什么样的细节?您执行的实际SQL语句和表结构将很有帮助。。。。。

insert bulk DenormalizedPrice4 ([DP_ID] BigInt, [DP_CountryID] Int, [DP_OperatorID] SmallInt, [DP_OperatorPriceID] BigInt, [DP_SpoID] Int, [DP_TourTypeID] Int, [DP_CheckinDate] Date, [DP_CurrencyID] SmallInt, [DP_Cost] Decimal(9,2), [DP_FirstCityID] Int, [DP_FirstHotelID] Int, [DP_FirstBuildingID] Int, [DP_FirstHotelGlobalStarID] Int, [DP_FirstHotelGlobalMealID] Int, [DP_FirstHotelAccommodationTypeID] Int, [DP_FirstHotelRoomCategoryID] Int, [DP_FirstHotelRoomTypeID] Int, [DP_Days] TinyInt, [DP_Nights] TinyInt, [DP_ChildrenCount] TinyInt, [DP_AdultsCount] TinyInt, [DP_TariffID] Int, [DP_DepartureCityID] Int, [DP_DateCreated] SmallDateTime, [DP_DateDenormalized] SmallDateTime, [DP_IsHide] Bit, [DP_FirstHotelAccommodationID] Int) with (CHECK_CONSTRAINTS)