Partition -Sql Server 2005 vs Oracle Database 10g

VLDB中表和索引等对象的分区能力很重要,关系到超大数据库扩展能力。Oracle 10g分区类型与9i相同但有改进,可在索引组织表应用分区特性。Yukon分区方式更灵活,可通过用户定义函数实现。SQL Server提供非分区表到分区表转换,Oracle早有“分区交换”功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

对 VLDB 来说,表和索引等对象的分区(partition)能力无疑是非常重要的特性。分区实现的好坏关系到超大数据库的扩展能力。

同 Oracle 9i 数据库一样,10g 在分区上依旧是只有四种类型,分别是:范围(Range)分区、列表(List)分区、Hash 分区以及复合分区(包含 range-hash 和 range-list 这两种方式)。10g 中只是做了一些改进。在 10g 中,你可以在索引组织表中应用分区特性。此外,对分区上的索引功能进行了改进。

Yukon 现在的分区方式相比 Oracle 的来说要灵活一点。在新版本中,分区可以通过Transact-SQL(或者其他的.NET语言)中用户定义的函数来实现,通过以下三步来做到:

  • 1.创建一个分区函数来指定表该如何使用该函数分区
  • 2.创建一个分区模式来指定应用该分区函数的分区在文件组上的位置
  • 3.创建一个表或者索引使用该分区模式

SQL Server 现在也提供非分区表到分区表的转换。其步骤是需要先创建一个伪分区表,然后和真实的分区表交换数据。如果删除分区内的数据,居然也要先创建一个伪分区表,然后和真实的分区表进行交换操作,这个稍嫌麻烦些。Oracle 则早已经实现了“分区交换”类似的功能。而且,从DBA的角度上来说,多分区内的数据操作更为灵活,删除分区数据只需要 TRUNCATE 相关分区即可。


BTW:欠下了不少笔债,也不知道什么时候能够写完。下周公司要写的文档也很多,不知道能写完不。老毛病又犯了。

Google+
### MySQLOracleSQL Server 的基础知识 #### 关系型数据库概述 关系型数据库技术阶段,代表性的 DBMS 包括 Oracle、DB2、MySQLSQL Server 和 SyBase 等[^2]。这些数据库管理系统提供了强大的功能来管理和查询数据。 #### MySQL 基础知识 MySQL 是一种开源的关系型数据库管理系统,广泛应用于互联网应用中。其特点包括高性能、可靠性和易用性。对于初学者来说,可以从以下几个方面入手: - **安装配置**:下载并安装适合操作系统的版本。 - **基本命令**:熟悉常用的 SQL 语句,如 `CREATE DATABASE` 创建新数据库;`USE database_name` 切换到指定数据库;`SHOW TABLES;` 显示当前数据库中的表列表。 - **数据定义语言(DDL)** :掌握如何创建 (`CREATE`) 表格结构,修改 (`ALTER`) 已有的表格设计,删除 (`DROP`) 不再需要的对象。 ```sql -- 创建一个新的数据库 CREATE DATABASE my_database; -- 使用该数据库 USE my_database; ``` #### Oracle 数据库基础 作为企业级 RDBMS 解决方案之一,Oracle 提供了许多高级特性和工具集给开发者和管理员使用。以下是学习路径建议: - **环境搭建**:按照官方文档指导完成本地开发环境设置。 - **PL/SQL 编程**:深入理解 PL/SQL 这门过程化的扩展版 SQL 语法,它是编写复杂业务逻辑的关键技能。 - **性能优化技巧**:学会分析慢查询日志,利用索引提高检索效率等方法提升应用程序表现力。 ```plsql DECLARE v_employee_id NUMBER := 101; BEGIN SELECT first_name, last_name INTO v_first_name, v_last_name FROM employees WHERE employee_id = v_employee_id; END; / ``` #### SQL Server 教程要点 Microsoft SQL Server 同样是一个非常流行的企业级数据库平台。针对想要深入了解此产品的同学而言: - **T-SQL 探讨**:专属于 MS SQL Server 的 T-SQL 方言增加了许多额外的功能特性,比如窗口函数、CTE(公用表表达式)等。 - **安全机制研究**:探索身份验证模式的选择,角色权限分配策略等方面的知识点。 - **集成服务实践**:尝试 SSIS (SQL Server Integration Services),SSRS (Reporting Services), SSDT (Data Tools) 等周边组件的实际运用场景。 ```t-sql WITH EmployeeCTE AS ( SELECT EmployeeID, FirstName, LastName, ManagerID, ROW_NUMBER() OVER(PARTITION BY ManagerID ORDER BY HireDate DESC) as RowNum FROM Employees ) SELECT * FROM EmployeeCTE WHERE RowNum <= 3; ``` 以上是对三种主流商业数据库的一些初步介绍及其各自特色的学习方向指引。希望可以帮助读者建立起对它们之间差异的认识,并为进一步的研究打下良好基础。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值