摘要:数据库系统-面向应用的方法一些概念关系、元组、属性在关系数据库理论中,关系 (relation)对应于数据库技术的表 (table),元组 (tuple)对应于行 (row),属性 (attribute)对应于列 (column)元组的元 (arity)为属性数量,即列的数量,一元unitary,二元binary,三元ternary等关系的势 (cardinality)为关系中的元组数量,即行数P...
阅读全文
摘要:隔离级别 Isolation Level隔离级别用于解决事物的并发性问题,概念如下:脏读(Read uncommitted):可以读取到其他事物未提交的数据,因为这些数据可能被其他事物回滚,并不会最终提交到数据库,因此读取出来的数据不可靠,叫做脏读不可重复读(Nonrepeatable read):在确保不会发生脏读之后,接下来还会面临重复读取问题,例如: 连接1 连接2 说明 SET TRANS...
阅读全文
摘要:Scale Out:横向扩展,增加处理节点提高整体处理能力Scale Up:纵向扩展,通过提升单个节点的处理能力达到提升整体处理能力的目的ReplicationMySQL的replication是异步的,适用于对数据实时性要求不是特别关键的场景。slave端的IO线程负责从master读取日志,SQL线程专门负责在slave端应用从master读过来的日志(早期MySQL用一个线程实现,性能问题比...
阅读全文
摘要:存储引擎 Attribute MyISAM Heap BDB InnoDB Transactions No No Yes Yes Lock granularity Table Table Page (8 KB) Row Storage Split files In-memory Single file per table Tablespace(s) Isolation levels None No...
阅读全文
摘要:原文:关于Int自增字段和GUID字段的性能测试。只有测试,没有分析,呵呵1. 为什么加了top之后执行计划变得不一样了? 加了top 100后,因为只需要返回100条数据,2个表之间的关联有索引信息,sql server可以优化执行计划,使用了nested loop方法 没加top 100需要返回所有数据,因为数据比较多sql server评估出来成本比较高,电脑是双核的,因此采用了并行的执行计...
阅读全文
摘要:使用方法[代码]例如:[代码]Oracle作为远程链接服务器时,SQL Server服务器上必须安装Oracle Client。配置SQL*Net名供OLE DB provider使用sp_addlinkedserver各种provider参考sp_addlinkedserverSQL Server对OLE DB provider的支持情况可参考OLE DB providers Tested wi...
阅读全文
摘要:Table, Field:[代码]Index, Constraint:[代码]Sequence:[代码]Sample Trigger:[代码]禁用triggeralter table PRD_ITEM disable all triggers;alter table PRD_ITEM enable all triggers;
阅读全文
摘要:1. Rownum PL/SQL User's Guid and Reference中的描述: ROWNUM returns a number indicating the order in which a row was selected from a table. The first row selected has a ROWNUM of 1, the second row has a RO...
阅读全文
摘要:1. 安装ODP.NET 10.2后,它的Net Manager和Net Configuration Assistant打不开,从开始菜单点击后没有任何反应。我的解决方法:卸载ODP.NET 10.2重新安装,安装时注意两点:a) 安装目录中不要包含空个字符,例如Program Files。b) 安装的组件选择时不选择"Oracle Data Provider for .NET 1.x 10.2....
阅读全文
摘要:PGA: 程序全局区,服务器进程使用的内存区域,包括特定服务器进程的数据和控制信息,例如使用的操作系统资源等。UGA: 用户全局区,特定Session使用的内存区域,例如Session的SQL工作区、登陆认证信息等。Session的SQL工作区大小对查询性能的影响比较关键,shared server模式时UGA从SGA的large pool(如果有设置)或者shared pool(没有设置larg...
阅读全文
摘要:服务器为Oracle 9i,NHibernate使用NHibernate.Driver.OracleDataClientDriver(Oracle.DataAccess.dll,使用ODTwithODAC1020221这个版本安装。因为正式部署打算用Oracle 10g,所以客户端NHibernate用了这个驱动,另外也是为了避免System.Data.OracleClient.dll操作Clo...
阅读全文
摘要:英文版地址:Batch Compilation, Recompilation, and Plan Caching Issues in SQL Server 2005中文版地址:SQL Server 2005 中的批编译、重新编译和计划缓存问题翻译了一大段才发现中文版。因为微软经常将知识库的文章移动,还是在自己blog里收藏起来了。Batch Compilation, Recompilation, ...
阅读全文
摘要: 不管是博客园还是CSDN,看到很多朋友对数据库的理解、认识还是没有突破一个瓶颈,而这个瓶颈往往只是一层窗纸,越过了你将看到一个新世界。
. 想当年,也是一提SQL Server,就觉得它的性能没法跟Oracle相比,一提到大数据处理就想到Oracle。自己一路走来,在本地blog上记录了很多优化方面的post,对的错的都有,没有时间系列的整理出来,这篇文章将join方法的概念稍微整理在一起,给大家个参考。通过查资料了解里面提到的各种概念,在实际中不断验证总结,完全可以对数据库一步步深入理解下去的。
. 我只对SQL Server 2000比较了解,但这并不阻碍我在Oracle、MySql进行SQL调优、产品架构,因为在数据库理论原理上,各大数据库基本出入不大,对数据库的深入理解,也不会影响你架构设计思想变坏,相反给你带来的是更深层次的思考。
阅读全文
摘要:一个项目碰到性能问题,要我去优化。Oracle数据库,项目日志记录一个查询语句运行4个小时。因为对Oracle DB管理调优不熟,一开始从逻辑层面优化SQL语句,对照执行计划觉得应当差不多了,测试运行时间比较长(等了1分钟多没有运行完,就Cancel掉)。进一步的分析发现: 1. PL/SQL Developer的Explain Plan Window中执行计划显示不准确。 可能是SQL语句比较复...
阅读全文
摘要:Hints for Optimization Approaches and Goals ALL_ROWS The ALL_ROWS hint explicitly chooses the cost-based approach to optimize a statement block with a goal of best throughput (that is, minimum total r...
阅读全文
摘要:工作机器(开发ASP.Net程序,.Net Framework 1.1)在域里面,SQL 2000服务器不在域中,突然出现SQL企业管理器和查询分析器都可以连接到SQL 2000服务器,而.Net程序则连不上,报错“SQL Server服务器不存在或拒绝访问”。 以前好像也这样用过,并没有出问题,看来可能跟域的控制策略有关系,这段时间公司域策略调整比较频繁,没有登陆域的机器和域里面...
阅读全文
摘要:解决问题时走了一些弯路,但是过程中有些东西可能对以后有点借鉴性,因此记录下来。 客户反映,几天以来系统有一个保存操作在早上10之前一直无法进行,过了10点就OK。 客户的环境为.Net开发的Web应用,用的SQL Server 2000数据库,表中数据量都是几十万、几百万左右,因此一开始重点怀疑10点之前有某些操作锁住了某些表(我们系统确实有些操作,一个工厂需要跑1、2十分钟半个小时的,就是相当于...
阅读全文
摘要:索引碎片介绍,以及怎样分析索引碎片、重整索引
阅读全文
摘要:对SQL Server 2000并行查询、位图(Bitmap)的理解与介绍,有实际的例子进行比较
阅读全文
摘要:UMS是什么?-SQL Server 2000多线程管理机制
了解UMS有什么用?-相信能够增进你对SQL Server 2000内部工作原理的理解
阅读全文