代码改变世界

MDX Step by Step 读书笔记(三) - Understanding Tuples (理解元组)

2013-04-09 15:31 by BIWORK, 3974 阅读, 2 推荐, 收藏, 编辑
摘要:1. 在 Analysis Service 分析服务中,Cube (多维数据集) 是以一个多维数据空间来呈现的。在Cube 中,每一个纬度的属性层次结构都形成了一个轴。沿着这个轴,在属性层次结构上的每一个成员包括 “ALL” 成员都在轴上占了一个点。2. 包含度量值的纬度叫做事实纬度或者度量纬度,度... 阅读全文

SSAS-MDX#001 - MDX 基本结构

2013-04-08 22:11 by BIWORK, 1167 阅读, 0 推荐, 收藏, 编辑
摘要:1. MDX 的基本结构 -MDX 的基本结构有三种: Members, Tuple 和 Set2. Members -指的是维度树上的一个节点, 这里有一点需要指出, 量度也是一个特殊的维度, 所以对于普通维度上的 Member 可以有几下几种表示方法:[Customer] 或 [Time].[1996] 等.对于特殊的维度——量度而言, 也可以表示一个 Member ,如: [Measures].[ unit sales] 等. Member 的表示方法就是用中括号的形式,"[……]".3. Tuple -是由若干个 Members 组成, 每一个维度上最多只能有一个 阅读全文

MSDN-MDX#001 - 多维表达式 (MDX) 参考

2013-04-08 21:40 by BIWORK, 2517 阅读, 0 推荐, 收藏, 编辑
摘要:摘录于MSDN MDX 的一些重要概念1. MDX 介绍多维表达式 (MDX) 是用于在 Microsoft SQL Server Analysis Services (SSAS) 中处理和检索多维数据的查询语言.MDX 基于 XML for Analysis (XMLA) 规范, 并带有特定于 SQL Server 2005 Analysis Services 的扩展.MDX 使用由标识符, 值, 语句, 函数和运算符组成的表达式, Analysis Services 可以通过计算表达式来检索某个对象(如集或成员)或标量值(如字符串或数字)2. MDX 查询和表达式可以用来执行哪些操作?从 阅读全文

SQL Server 2012 中 SSAS 多维数据浏览器已经废除

2013-03-25 14:16 by BIWORK, 1179 阅读, 0 推荐, 收藏, 编辑
摘要:从SQL Server 2008 R2 升级到2012之后, 部署完Cube之后发现多维数据浏览器和以前在2008 BIDS里面的不一样, 只是单维的数据浏览, 包括连橡皮擦功能等等都没有了, 但是有一个新的 Excel 连接可以打开以查看多维数据.可参考说明-http://msdn.microsoft.com/zh-cn/library/ms143682.aspx 阅读全文

索引 - 唯一索引设计指南

2013-02-19 16:31 by BIWORK, 729 阅读, 0 推荐, 收藏, 编辑
摘要:唯一索引能够保证索引键中不包含重复的值, 从而使表中的每一行从某种方式上具有唯一性, 只有当唯一性是数据本身的特征时, 指定唯一索引才有意义. 例如, 如果您希望确保HumanResources.Employee表的NationalIDNumber列中的值唯一, 当主键为EmployeeID时, 可以为NationalIDNumber列创建一个 UNIQUE 约束. 如果用户尝试在该列中为多个雇员输入相同的值, 将显示错误消息并且不能输入重复的值.使用多列唯一索引, 索引能够保证索引键中值的每个组合都是唯一的. 例如, 如果为LastName、FirstName和MiddleName列的组合创 阅读全文

索引 - 非聚集索引设计指南

2013-02-19 16:19 by BIWORK, 328 阅读, 0 推荐, 收藏, 编辑
摘要:非聚集索引包含索引键值和指向表数据存储位置的行定位器.有关非聚集索引体系结构的详细信息, 请参阅非聚集索引结构.可以对表或索引视图创建多个非聚集索引. 通常, 设计非聚集索引是为改善经常使用的没有建立聚集索引的查询的性能.与使用书中索引的方式相似, 查询优化器在搜索数据值时, 先搜索非聚集索引以找到数据值在表中的位置, 然后直接从该位置检索数据.这使非聚集索引成为完全匹配查询的最佳选择, 因为索引包含说明查询所搜索的数据值在表中的精确位置的项.例如, 为了从 Person.Person 表中查询具有特定姓氏的人员, 查询优化器可能使用非聚集索引 IX_Person_LastName_First 阅读全文

索引 - 聚集索引设计指南

2013-02-19 16:02 by BIWORK, 409 阅读, 0 推荐, 收藏, 编辑
摘要:聚集索引基于数据行的键值在表内排序和存储这些数据行,每个表只能有一个聚集索引, 因为数据行本身只能按一个顺序存储. 有关聚集索引体系结构的详细信息, 请参阅聚集索引结构.每个表几乎都对列定义聚集索引来实现下列功能:可用于经常使用的查询.提供高度唯一性.创建 PRIMARY KEY 约束时, 将在列上自动创建唯一索引. 默认情况下, 此索引是聚集索引, 但是在创建约束时,可以指定创建非聚集索引.可用于范围查询.如果未使用 UNIQUE 属性创建聚集索引, 数据库引擎将向表自动添加一个 4 字节的uniqueifier列. 必要时, 数据库引擎将向行自动添加一个uniqueifier值以使每个键唯 阅读全文

索引 - 查询类型和索引

2013-02-19 15:14 by BIWORK, 957 阅读, 0 推荐, 收藏, 编辑
摘要:当您考虑是否要对列创建索引时, 请估计在查询中使用列的方式, 下表介绍了索引对其有用的查询类型.表中的示例基于 AdventureWorks2008R2 示例数据库, 在 SQL Server Management Studio 中运行这些示例时. 您可以通过显示实际的执行计划来查看查询优化器选择的索引. 有关详细信息, 请参阅如何显示实际执行计划.分类描述考虑的索引与特定值完全匹配搜索与特定值完全匹配的项. 其中, 查询使用WHERE子句指定列项. 例如:SELECTBusinessEntityID,JobTitleFROMHumanResources.EmployeeWHEREBusine 阅读全文

索引 - 索引排序顺序

2013-02-19 14:52 by BIWORK, 2697 阅读, 1 推荐, 收藏, 编辑
摘要:定义索引时, 应该考虑索引键列的数据是按升序还是按降序存储.升序是默认设置, 保持与 SQL Server 早期版本的兼容性.CREATE INDEX, CREATE TABLE 和 ALTER TABLE 语句的语法在索引和约束中的各列上支持关键字 ASC(升序)和 DESC(降序):当引用表的查询包含用以指定索引中键列的不同方向的 ORDER BY 子句时, 指定键值存储在该索引中的顺序很有用. 在这些情况下, 索引就无需在查询计划中使用 SORT 运算符. 因此, 使得查询更有效. 例如, Adventure Works Cycles 采购部门的买方不得不评估他们从供应商处购买的产品的质 阅读全文

索引 - 索引键的最大大小

2013-02-19 14:36 by BIWORK, 2982 阅读, 0 推荐, 收藏, 编辑
摘要:在设计包含许多键列或大型列的索引时, 计算索引键的大小以确保不超过最大索引键的大小. SQL Server 为所有索引键列的最大总大小保留 900 字节. 这排除了在非聚集索引的定义中包括的非键列.计算索引键的大小若要计算索引键的大小, 请按下列步骤执行操作。显示索引将依据的表列的属性, 可以使用sys.columns目录视图执行此操作.求索引键中将定义的每一列的长度之和. 例如, 以下语句聚合 Person.Address 表中指定列的 sys.columns 视图索引的 max_length 列. USE AdventureWorks2008R2;GOSELECT SUM(ma... 阅读全文

索引 - 常规索引设计指南

2013-02-19 14:04 by BIWORK, 343 阅读, 0 推荐, 收藏, 编辑
摘要:经验丰富的数据库管理员能够设计出好的索引集, 但是, 即使对于不特别复杂的数据库和工作负荷来说, 这项任务也十分复杂, 耗时和易于出错. 了解数据库, 查询和数据列的特征可以帮助您设计出最佳索引.数据库注意事项设计索引时, 应考虑以下数据库准则:一个表如果建有大量索引会影响 INSERT, UPDATE, DELETE 和 MERGE 语句的性能.因为当表中的数据更改时, 所有索引都须进行适当的调整.避免对经常更新的表进行过多的索引, 并且索引应保持较窄. 就是说,列要尽可能少.使用多个索引可以提高更新少而数据量大的查询的性能.大量索引可以提高不修改数据的查询(例如 SELECT 语句)的性能 阅读全文

索引 - 在文件组上放置索引

2013-02-19 13:37 by BIWORK, 593 阅读, 0 推荐, 收藏, 编辑
摘要:开发索引设计策略时, 应该考虑在与数据库相关联的文件组上放置索引, 仔细选择文件组或分区方案可以改进查询性能.默认情况下, 索引存储在基表所在的文件组上, 该索引即在该基表上创建, 非分区聚集索引和基表始终在同一个文件组中. 但是,您可以执行以下操作:为文件组而不是为基表的文件组创建非聚集索引.对要涵盖多个文件组的聚集和非聚集索引进行分区.通过删除聚集索引并在 DROP INDEX 语句的 MOVE TO 子句中指定新的文件组或分区方案, 或者在 CREATE INDEX 语句中使用 DROP_EXISTING 子句, 将表从一个文件组移至另一个文件组.通过对其他文件组创建非聚集索引, 可以在 阅读全文

索引 - 索引设计基础知识

2013-02-18 17:32 by BIWORK, 370 阅读, 0 推荐, 收藏, 编辑
摘要:索引设计不佳和缺少索引是提高数据库和应用程序性能的主要障碍, 设计高效的索引对于获得良好的数据库和应用程序性能极为重要. 为数据库及其工作负荷选择正确的索引是一项需要在查询速度与更新所需开销之间取得平衡的复杂任务. 如果索引较窄, 或者说索引关键字中只有很少的几列, 则需要的磁盘空间和维护开销都较少. 而另一方面, 宽索引可覆盖更多的查询. 您可能需要试验若干不同的设计, 才能找到最有效的索引. 可以添加, 修改和删除索引而不影响数据库架构或应用程序设计. 因此, 应试验多个不同的索引而无需犹豫.SQL Server 中的查询优化器可在大多数情况下可靠地选择最高效的索引, 总体索引设计策略应为 阅读全文

索引 - 索引基础知识

2013-02-18 16:54 by BIWORK, 458 阅读, 0 推荐, 收藏, 编辑
摘要:索引是与表或视图关联的磁盘上结构, 可以加快从表或视图中检索行的速度. 索引包含由表或视图中的一列或多列生成的键. 这些键存储在一个结构(B 树)中, 使 SQL Server 可以快速有效地查找与键值关联的行.表或视图可以包含以下类型的索引:聚集聚集索引根据数据行的键值在表或视图中排序和存储这些数据行, 索引定义中包含聚集索引列. 每个表只能有一个聚集索引,因为数据行本身只能按一个顺序排序.只有当表包含聚集索引时, 表中的数据行才按排序顺序存储. 如果表具有聚集索引, 则该表称为聚集表, 如果表没有聚集索引,则其数据行存储在一个称为堆的无序结构中.非聚集非聚集索引具有独立于数据行的结构, 非 阅读全文

数据库引擎 - 表和索引数据结构体系结构

2013-02-18 11:00 by BIWORK, 1699 阅读, 0 推荐, 收藏, 编辑
摘要:SQL Server 数据库中的对象存储为 8 KB 页的集合, 本节说明如何组织, 存储和访问表和索引页.表组织下图显示了表的组织, 表包含在一个或多个分区中, 每个分区在一个堆或一个聚集索引结构包含数据行. 堆页或聚集索引页在一个或多个分配单元中进行管理,具体的分配单元数取决于数据行中的列类型.分区表页和索引页包含在一个或多个分区中, 分区是用户定义的数据组织单元.默认情况下, 表或索引只有一个分区, 其中包含所有的表页或索引页. 该分区驻留在单个文件组中. 具有单个分区的表或索引相当于 SQL Server 早期版本中的表和索引的组织结构.当表或索引使用多个分区时, 数据将被水平分区, 阅读全文

数据库引擎 - 文件和文件组体系结构

2013-02-17 14:26 by BIWORK, 590 阅读, 0 推荐, 收藏, 编辑
摘要:SQL Server 将数据库映射为一组操作系统文件. 数据和日志信息绝不会混合在同一个文件中, 而且一个文件只由一个数据库使用.文件组是命名的文件集合,用于帮助数据布局和管理任务,例如备份和还原操作.数据库文件SQL Server 数据库具有三种类型的文件:主数据文件主数据文件是数据库的起点, 指向数据库中的其他文件. 每个数据库都有一个主数据文件, 主数据文件的推荐文件扩展名是 .mdf次要数据文件除主数据文件以外的所有其他数据文件都是次要数据文件. 某些数据库可能不含有任何次要数据文件, 而有些数据库则含有多个次要数据文件, 次要数据文件的推荐文件扩展名是 .ndf。日志文件日志文件包含 阅读全文

数据库引擎 - 页和区体系结构-页和区

2013-02-17 13:28 by BIWORK, 697 阅读, 0 推荐, 收藏, 编辑
摘要:页SQL Server 中数据存储的基本单位是页,为数据库中的数据文件(.mdf 或 .ndf)分配的磁盘空间可以从逻辑上划分成页(从 0 到n连续编号)。磁盘 I/O 操作在页级执行,也就是说,SQL Server 读取或写入所有数据页。区是八个物理上连续的页的集合, 用来有效地管理页, 所有页都存储在区中。在 SQL Server 中, 页的大小为 8 KB, 这意味着SQL Server 数据库中每 MB 有 128 页.每页的开头是 96 字节的标头, 用于存储有关页的系统信息. 此信息包括页码, 页类型, 页的可用空间以及拥有该页的对象的分配单元 ID.下表说明了 SQL Serve 阅读全文

SSIS 小脚本 - 时间参数验证

2013-01-14 11:16 by BIWORK, 1105 阅读, 0 推荐, 收藏, 编辑
摘要:项目中也经常使用到时间参数的验证,例如根据某一时间范围来从Source中过滤一些数据. 在运行Package之前需要配置这些时间格式的参数,因此需要验证这些参数是否是正确的时间格式. 并且通常还有时间大小的验证,例如起始时间要小于结束时间./* Microsoft SQL Server Inte... 阅读全文

SSIS 小脚本 - 文件路径验证

2013-01-14 11:00 by BIWORK, 1664 阅读, 1 推荐, 收藏, 编辑
摘要:之前项目中经常有文件的读取或者输出操作,其中最重要的就是在处理文件输入/输出之前验证文件的路径是否存在,如果不存在就输出错误./* Microsoft SQL Server Integration Services Script Task Write scripts using Micros... 阅读全文

容易遗忘的一些小代码之 ROW_NUMBER 和去重

2013-01-07 15:40 by BIWORK, 4232 阅读, 1 推荐, 收藏, 编辑
摘要:ROW_NUMBER 的使用基本上倒不会遗忘了, 这是很久以前的代码库了, 整理出来对初学者有帮助.如果去继续研究研究 SQL Server 2012 中的Window Function 新特性, 就会发现里面还有更多很强大的东东, 很多内容和这里的 ROW_NUMBER 的概念或者使用方式有些相似.理解了ROW_NUMBER 以及 PARTITION BY 的使用再去看 2012的 Windows Function 新特性的话会比较容易些.-- ROW_NUMBER function DECLARE @DEMO TABLE( Name VARCHAR(15), ADDR1 VARC... 阅读全文
上一页 1 ··· 3 4 5 6 7 8 下一页