DINDEXidx1ONdboSalesComme
tDateSalesPerso
IDINCLUDECustomerIDWHEREComme
tDateISNOTNULLA
swerD5你的数据库大小是5GB其中有一个SalesHistory表。销售信息被频繁地插入和更新。你发现发生过度的数据页拆分,你必须要减少SaleHistory表的这种数据页拆分现象发生。你应该使用什么代码段?AALTERDATABASESalesMODIFYFILENAMESalesdat3SIZE10GBBALTERINDEXALLONSalesSalesHistoryREBUILDWITHFILLFACTOR60CEXECsyssp_co
figurefillfactor60DUPDATESTATISTICSSalesSalesHistoryProductsWITHFULLSCANNORECOMPUTEA
swerB注:添加或更改数据时,SQLServer可能不得不重新组织非聚集索引页中的数据存储。向一个已满的索引页添加某个新行时,SQLServer把大约一半的行移到新页中以便为新行腾出空间。这种重组称为数据页拆分。页拆分会降低性能并使表中的数据存储产生碎片。)6你有一个表dboCustomers,创建表的
第3页
fTSQL语句如下CREATETABLEdboCustomersCustomerIDi
tIDENTITY11PRIMARYKEYCLUSTEREDAccou
tNumber
varchar25NOTNULLFirstName
varchar50NOTNULLLastName
varchar50NOTNULLAddressLi
e1
varchar255NOTNULLAddressLi
e2
varchar255NOTNULLCity
varchar50NOTNULLStateProvi
ce
varchar50NOTNULLCou
try
varchar50NOTNULLPostalCode
varchar50NOTNULLCreateDatedatetimeNOTNULLDEFAULTGETDATEModifiedDatedatetimeNOTNULLDEFAULTGETDATE你创建了一个存储过程,其中包括Customers表中的Accou
tNumber、Cou
try和StateProvi
ce列,有一个参数用来筛选Accou
tNumber列。你需要优化这个存储过程的性能,不改变表的现有结构,你应该使用哪个TSQL语句?ACREATESTATISTICSST_Customer_Accou
tNumberONdboCustomerAccou
tNumberWITHFULLSCANBCREATECLUSTEREDINDEXIX_Customer_Accou
tNumberONdboCustomerAccou
tNumberCCREATENONCLUSTEREDINDEXIX_Customer_Accou
tNumberONdboCustomerAccou
tNumberWHEREAccou
tNumberDCREATENONCLUSTEREDINDEXIX_Customer_Accou
tNumberONdboCustomerAccou
tNumber
第4页
fINCLUDECou
tryStateProvi
ceA
swerD7你有一个Customer表,需要确保表里的客户数据满足下列需求:未通过身份验证的信用额度必须为0。信用额度必须少于10000。你应使用哪个约束?答案:CHECKCreditLimt0ANDVerified0ORCreditLimtBETWEEN1AND10000ANDVerified18你有一个表Accou
tsReceivable。表没有索引,表中有75000行数据。创建表的TSQL语句如下:CREATETABLEAccou
tsReceivabler