上一页 1 2 3 4 5 6 7 8 9 ··· 21 下一页
摘要: SQL Server 中维护了一组表用于存储 SQL Server 中所有的对象、数据类型、约束条件、配置选项、可用资源等信息,这些信息称为元数据信息(Metadata),而这些表称为系统基础表(System Base Tables)。在这些基础表中,存在于 master 数据库中的一部分基础表包含系统级范围的信息。存在于特定数据库(也包含 master db)中的基础表包含属于该特定数据库的对象和资源信息。目录视图(Catalog Views)是访问 SQL Server 元数据信息的首选接口,其次是系统函数(System Functions)。 阅读全文
posted @ 2014-11-27 08:56 sangmado 阅读(5775) 评论(13) 推荐(25) 编辑
摘要: 在了解 SQL Server 数据库时,可以先从数据库的体系结构来观察。SQL Server 的体系结构中包含 4 个主要组成部分:协议层(Protocols)、关系引擎(Relational Engine)、存储引擎(Storage Engine)、SQLOS。协议层用于接收请求,并把请求转换成关系引擎可以处理的形式。关系引擎通过命令解析器(Command Parser)、查询优化器(Query Optimizer)、查询执行器(Query Executor)等组件处理请求,并向存储引擎请求查询行集数据等。存储引擎提供访问方法(Access Methods)、锁管理器(Lock Manager)、事务服务(Transaction Services)等基础设施组件。SQLOS 是一个单独的应用层,位于 SQL Server 引擎的最低层,其主要功能包括:调度(Scheduling)和内存管理(Memory Management)。 阅读全文
posted @ 2014-11-26 08:48 sangmado 阅读(15728) 评论(28) 推荐(44) 编辑
摘要: SQLIO 是一个用于测试存储系统能力的命令行工具。通过运行 SQLIO 可以得到 Throughput Metrics 和 Latency Metrics 等存储系统相关的性能指标,用以判断系统的 I/O 处理能力。 阅读全文
posted @ 2014-11-08 18:05 sangmado 阅读(3305) 评论(0) 推荐(1) 编辑
摘要: 对磁盘 I/O 活动的监控可通过 PhysicalDisk 和 LogicalDisk 中的性能计数器来度量。PhysicalDisk 相关的性能计数器主要针对物理磁盘,如果同一物理磁盘上有多个分区,则该计数器计算的是所有分区的和。LogicalDisk 相关的性能计数器主要针对逻辑分区,通过挂载点或磁盘驱动器号来指定,而不是监控整个磁盘。其中,Avg. Disk sec/Read 和 Avg. Disk sec/Write 是两个主要考量磁盘 I/O 性能的计数器,它们不需要额外的信息作为参考,可以直接判断 I/O 请求的平均延迟。 阅读全文
posted @ 2014-11-07 19:41 sangmado 阅读(5375) 评论(3) 推荐(1) 编辑
摘要: 当调查应用程序问题时,通常需要先确认目标机器所安装的 .NET Framework 的版本。可以通过如下方式来确认版本号:通过控制面板安装程序查询,通过查询注册表获取版本信息,通过查看安装目录获取版本信息,通过使用 WMI 命令获取版本信息。 阅读全文
posted @ 2014-11-07 16:27 sangmado 阅读(18691) 评论(3) 推荐(4) 编辑
摘要: 算法范式是为问题构建高效解决方案的常规方法,其可以被看做为解决一类问题的高层算法。算法范式提供的模板可适用于解决更广泛的问题,通过最高层的语言可以将范式转换成通用的组件或数据结构,对算法产生结果所需的时间和空间的需求可以做精确的分析。常见的算法范式有:暴力破解法(Brute Force Paradigm)、分治法(Divide and Conquer Paradigm)、动态规划法(Dynamic Programming Paradigm)、贪心算法(Greedy Paradigm)、回溯法(Backtracking Paradigm)、分支限界法(Branch and Bound Paradigm)等。 阅读全文
posted @ 2014-11-05 22:12 sangmado 阅读(6234) 评论(4) 推荐(5) 编辑
摘要: 二分查找(Binary Search)算法使用了分治法(Divide and Conquer)来不断缩小查找范围,并充分利用已知的信息将查找时间复杂度降低到 O(logn)。本文描述解决若干个数组元素定位问题,给定包含 n 个元素的已排序数组 sorted_array[],求给定元素 x 的位置,求小于等于给定元素 x 的最近位置(Floor Value),求大于等于给定元素 x 的最近位置(Ceiling Value),求给定元素 x 重复的次数,求数组中的最小元素,查找元素位置等于元素值的位置(Fixed Point),查找某高点的值大于左右两侧的值的位置(Peak Position)。 阅读全文
posted @ 2014-11-01 21:07 sangmado 阅读(2864) 评论(0) 推荐(2) 编辑
摘要: 后缀数组由 Manber & Myers 在 1990 年首先提出《Suffix arrays: a new method for on-line string searches》,用以替代后缀树,并且改进了存储空间的需求。后缀数组可以通过对后缀树做深度优先遍历(DFT: Depth First Traversal)来进行构建,对所有的边(Edge)做字典序(Lexicographical Order)遍历。通过使用后缀集合和最长公共前缀数组(LCP Array: Longest Common Prefix Array)来构建后缀树,可在 O(n) 时间内完成,例如使用 Ukkonen 算法。构造后缀数组同样也可以在 O(n) 时间内完成。每个通过后缀树解决的问题,都可以通过组合使用后缀数组和额外的信息(例如:LCP Array)来解决。 阅读全文
posted @ 2014-10-30 21:19 sangmado 阅读(2845) 评论(1) 推荐(0) 编辑
摘要: 后缀树(Suffix Tree)是一棵 Compressed Trie,其存储的关键词为 Text 所有的后缀。后缀树的性质:存储所有 n(n-1)/2 个后缀需要 O(n) 的空间,n 为的文本(Text)的长度;构建后缀树需要 O(dn) 的时间,d 为字符集的长度(alphabet);对模式(Pattern)的查询需要 O(dm) 时间,m 为 Pattern 的长度。在 1995 年,Esko Ukkonen 发表了论文《On-line construction of suffix trees》,描述了在线性时间内构建后缀树的方法。本文中尝试描述 Ukkonen 算法的基本实现原理,从简单的字符串开始描述,然后扩展到更复杂的情形。 阅读全文
posted @ 2014-10-27 22:12 sangmado 阅读(39853) 评论(14) 推荐(56) 编辑
摘要: 字典树(Trie)是一种很特别的树状信息检索数据结构,如同其名,它的构成就像一本字典,可以让你快速的进行字符插入、字符串搜索等。字典树设计的核心思想是空间换时间,所以数据结构本身比较消耗空间。但它利用了字符串的共同前缀(Common Prefix)作为存储依据,以此来节省存储空间,并加速搜索时间。Trie 的字符串搜索时间复杂度为 O(m),m 为最长的字符串的长度,其查询性能与集合中的字符串的数量无关。其在搜索字符串时表现出的高效,使得特别适用于构建文本搜索和词频统计等应用。 阅读全文
posted @ 2014-10-24 23:07 sangmado 阅读(12059) 评论(2) 推荐(6) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 21 下一页