(数据仓库教学课件)补充2:SQLSERVER应用
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
f.ProductKey=d.ProductKey where d.EnglishProductName like 'Blade%'
Data Engine Tuning Advisor
• SqlServer自带的数据库性能调优工具之一, • 打开“工具”下的,Data Engine Tuning
Advisor,观察数据库引擎对性能调优提出 的建议。
Sql1:
select sum(SalesAmount) from dbo.FactInternetSales as f where f.OrderDateKey in
(select TimeKey from DimTime as t where t.FullDateAlternateKey>='2002' and t.FullDateAlternateKey<'2003');
维护计划
• 启动SQLSERVER Agent服务 • 打开Management Studio,找到对象资源管
理器下的“管理”,“维护计划”,右键 选中“新建维护计划向导”。 • 制定维护计划,使得系统在每周六18:00开 始,对AdventureWorks数据库全备份,对 AdventureWorksDW差异备份。
划”页上各图标与箭头,查看具体内容。 4. 设置“包含实际执行计划”按钮为选中状态后,执行该select语句,
查看“执行计划”页相应内容的变化。 5. 关于执行计划的更详细内容,请查看“查询优化器内核剖析第一~
九篇 ” http://blog.csdn.net/babauyang/article/details/8623008
二、备份与恢复
• 任务:一次数据库全备份后,数据库发生 变化,再做差异备份。数据库崩溃,利用 前面的两次备份,对数据库做恢复操作。
操作流程
1. 对数据库SW做完全备份。产生backup目录下的backAll.bak,观察文件的大 小。
2. 在SW中新建一个小表,并添加一到两行数据。 3. 对SW做差异备份。产生backup目录下的backDiff.bak,观察文件的大小。 4. 删除SW数据库。(观察test原来的文件,已被删除) 5. 先用backAll.bak还原数据库,新的数据库可取名SW或其他名称。注意,选
执行计划
1. 打开AdventureWorksDW数据库,观察FactInternetSales表的字段、已 有索引,通过语句查询该表记录数。找到查询窗口上方工具栏中的 两个工具:“估计执行计划”“包含实际执行计划”空间。
2. 分别新建下页的查询,比较两个查询的执行效果。 3. 在执行前,选择“估计执行计划”控件,将鼠标停留在各“执行计
项中,要求选择“覆盖现有数据库”与“不对数据库执行任何操作,不回 滚任何事务。”选项。 6. 观察恢复后的情况。数据库会显示“正在还原中……”。观察test文件的恢 复。 7. 再用backDiff.bak还原。(使用默认选项即可) 8. 观察数据库是否恢复到删除前状态。
三 性能调优技术
• 维护计划 • 执行计划 • SQL Server profiler • Data Engine Tuning Advisor
[ExtendedAmount] [money] NULL, [UnitPriceDiscountPct] [float] NULL, [DiscountAmount] [float] NULL, [ProductStandardCost] [money]
NULL,
[TotalProductCost] [money] NULL,
Sql2:
select sum(SalesAmount) from dbo.FactInternetSales as f join DimTime as t on f.OrderDateKey =t.TimeKey
where t.FullDateAlternateKey>='2002' and t.FullDateAlternateKey<'2003'
[OrderQuantity] [smallint] NULL,
[CustomerKey] [int] NOT NULL,
[UnitPrice] [money] NULL,
[PromotionKey] [int] NOT NULL, [CurrencyKey] [int] NOT NULL, [SalesTerritoryKey] [int] NOT NULL,
SQL Server Profiler
• 一个功能丰富的界面,用于创建和管理跟 踪并分析和重播跟踪结果。 事件保存在一 个跟踪文件中,稍后试图诊断问题时,可 以对该文件进行分析或用它来重播特定的 一系列步骤。
SQL Server profiler
• 打开菜单“工具”下的SQL Server profiler, 新建一个Trace。
• 在查询窗口输入类似以下的查询语句,观 察profiler所记录的内容
select * from dbo.FactInternetSales select * from dbo.FactInternetSales where DueDateKey between 500 and 600; select sum(SalesAmount) from FactInternetSales as f left join dbo.DimProduct as d on
分区技术步骤
• 1. 建立新的数据库 (假设SW)。在建库时,需要 建立两个文件组fg1,fg2。新建两个文件f1,f2,其中 f1属于fg1;f2属于fg2。(为了便于比较,将f1与 f2的文件起始大小设为1M)。观察硬盘中SW数据 库包含的文件及其大小。
• 2. 在SW下,通过SQL语句构建分区函数 partfunc (以[OrderDateKey]=550为界,将数据分为两个区)
• 3.在Test下,通过SQL语句构建分区架构 partSchema(将分区函数与fg1,fg2建立关联)
CREATE TABLE [dbo].[FactInternetSales]( [ProductKey] [int] NOT NULL, [OrderDateKey] [int] NOT NULL,
补充2: SQL SERVER应用
一、分区技术
– 新建数据库 – 在该数据库中新建表factInternetSales(表的
数据将通过导入工具从AdventureWorksDW而 得); – 根据表中字段字段[OrderDateKey]值的不同, 将factInternetSales的数据存入两个文件组中。
[SalesOrderNumber] [nvarchar](20), [SalesOrderLineNumber] [tinyint]
NOT NULL,
[DueDateKey] [int] NOT NULL,
[RevisionNumber] [tinyint] NULL,
[ShipDateKey] [int] NOT NULL,
[SalesAmount] [money] NULL,
ຫໍສະໝຸດ Baidu
[TaxAmt] [money] NULL,
[Freight] [money] NULL,
[CarrierTrackingNumber]
[nvarchar](25) ,
[CustomerPONumber] [nvarchar](25)
) on sale_partschema(OrderDateKey)