随笔分类 -  数据库

SQL Server索引进阶第三篇:聚集索引
摘要:http://dev.21tx.com/2012/09/11/10901.html 在上一篇文章中,我们已经介绍了非聚集索引相关的内容。在本篇中,我们会介绍与聚集索引相关的话题。 首先,我们综合之前的文章,再来思考一下数据库接收到请求之后(Select,Update,Delete,Insert),获 阅读全文

posted @ 2013-01-10 17:23 奈何倾城 阅读(473) 评论(2) 推荐(0)

SQL Server性能调教系列(6)—Index Structure and Tuning
摘要:http://dev.21tx.com/2010/09/27/12522.html一:前言 Index对数据库性能有着举足轻重的作用。Index设计的优劣直接影响到DB执行的效率。所以在做DB Tuning时,一部分会从Index着手处理,SQL Server也提供了很好的工具Database Engine Tuning Advisor,会给出一些建Index和优化方面的建议。 二:Index概述 这方面在各个博客论坛上面已经讲的比较多了,在此大致总结一下: 1. 数据表的基本结构 当建立一个新表时,系统将在磁盘中分配一段以8K为单位的连续空间;当第一个8K用完的时候,SQL Se... 阅读全文

posted @ 2013-01-10 16:26 奈何倾城 阅读(692) 评论(0) 推荐(0)

oracle 索引失效的原因
摘要:1) 没有查询条件,或者查询条件没有建立索引2) 在查询条件上没有使用引导列3) 查询的数量是大表的大部分,应该是30%以上。4) 索引本身失效5) 查询条件使用函数在索引列上(见12)6) 对小表查询7) 提示不使用索引8) 统计数据不真实9) CBO计算走索引花费过大的情况。其实也包含了上面的情况,这里指的是表占有的block要比索引小。10)隐式转换导致索引失效.这一点应当引起重视.也是开发中经常会犯的错误. 由于表的字段tu_mdn定义为varchar2(20),但在查询时把该字段作为number类型以where条件传给Oracle,这样会导致索引失效.错误的例子:select * f 阅读全文

posted @ 2013-01-01 21:45 奈何倾城 阅读(591) 评论(0) 推荐(0)

聚簇索引(Clustered Index)和非聚簇索引 (Non- Clustered Index)举例说明
摘要:索引的重要性数据库性能优化中索引绝对是一个重量级的因素,可以说,索引使用不当,其它优化措施将毫无意义。聚簇索引(Clustered Index)和非聚簇索引(Non- Clustered Index)最通俗的解释是:聚簇索引的顺序就是数据的物理存储顺序,而对非聚簇索引的索引顺序与数据物理排列顺序无关。举例来说,你翻到新华字典的汉字“爬”那一页就是P开头的部分,这就是物理存储顺序(聚簇索引);而不用你到目录,找到汉字“爬”所在的页码,然后根据页码找到这个字(非聚簇索引)。下表给出了何时使用聚簇索引与非聚簇索引:动作使用聚簇索引使用非聚簇索引列经常被分组排序应应返回某范围内的数据应不应一个或极少不 阅读全文

posted @ 2012-12-17 15:24 奈何倾城 阅读(2757) 评论(0) 推荐(1)

深入浅出理解索引结构
摘要:http://www.cnblogs.com/fanrsh/archive/2006/06/27/436618.html主 题: 转:(一)作 者: freedk (书生)正文内容:(一)深入浅出理解索引结构实际上,您可以把索引理解为一种特殊的目录。微软的SQL SERVER提供了两种索引:聚集索引(clustered index,也称聚类索引、簇集索引)和非聚集索引(nonclustered index,也称非聚类索引、非簇集索引)。下面,我们举例来说明一下聚集索引和非聚集索引的区别:其实,我们的汉语字典的正文本身就是一个聚集索引。比如,我们要查“安”字,就会很自然地翻开字典的前几页,因为“ 阅读全文

posted @ 2012-12-17 15:23 奈何倾城 阅读(180) 评论(0) 推荐(0)

SqlServer中使用Convert取得DateTime数据格式
摘要:Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AMSelect CONVERT(varchar(100), GETDATE(), 1): 05/16/06Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16Select CONVERT(varchar(100), GETDATE(), 3): 16/05/06Select CONVERT(varchar(100), GETDATE(), 4): 16.05.06Select CONVERT(varchar(100), G 阅读全文

posted @ 2012-10-15 15:53 奈何倾城 阅读(385) 评论(0) 推荐(0)

ORDER BY 与索引
摘要:ORDER BY 通常会有两种实现方法,一个是利用有序索引自动实现,也就是说利用有序索引的有序性就不再另做排序操作了。另一个是把结果选好之后再排序。 用有序索引这种,当然是最快的,不过有一些限制条件,来看下面的测试。 测试数据:student表有两个字段id ,sid ,id是主键。一共有20W条记录,id从1到200000,sid也是从1到200000的数据。 第一种情况 : order by的字段不在where条件也不在select中 select sid from zhuyuehua.student where sid < 50000 order by id; ... 阅读全文

posted @ 2012-07-10 11:54 奈何倾城 阅读(233) 评论(0) 推荐(0)

当SQL Server排序时遇上了NULL值
摘要:这是一个经常被问到的问题。SQL Server与Sybase: NULL值会被认为是一个无穷小的值,所以如果按照升序排列的话,则会被排在最前面Oracle: NULL值会认为是一个无穷大的值,所以如果按照升序排列的话,则会被排在最后面 阅读全文

posted @ 2012-07-10 11:08 奈何倾城 阅读(203) 评论(0) 推荐(0)

T-SQL查询语句的执行步骤
摘要:T-SQL是需要优化的。而优化的前提是你对它的执行步骤有清楚的认识。下面截取了我的一个PPT,给大家参考一下/*这个脚本用来帮助用户理解T-SQL查询的逻辑顺序和原理。*//*准备数据架构和数据*/SET NOCOUNT ON;USE tempdb;GOIF OBJECT_ID('dbo.Orders') IS NOT NULL DROP TABLE dbo.Orders;GOIF OBJECT_ID('dbo.Customers') IS NOT NULL DROP TABLE dbo.Customers;GOCREATE TABLE dbo.Customer 阅读全文

posted @ 2012-07-10 10:58 奈何倾城 阅读(350) 评论(0) 推荐(0)

NULL
摘要:A value of NULL indicates that the value is unknown. A value of NULL is different from an empty or zero value. No two null values are equal. Comparisons between two null values, or between a NULL and any other value, return unknown because the value of each NULL is unknown 阅读全文

posted @ 2012-07-09 15:27 奈何倾城 阅读(357) 评论(0) 推荐(0)

淘宝下单高并发解决方案
摘要:周末参加了@淘宝技术嘉年华主办的技术沙龙,感觉收获颇丰,非常感谢淘宝人的分享。这里我把淘宝下单高并发解决方案的个人理解分享一下。我不是淘宝技术人员,本文只是写自己的理解,所以肯定是会有一些出入的。 在session中牧劳为我们介绍了淘宝下单部分的技术方案变迁,我不介绍变迁,而只对现有系统做介绍。 要优化下单,提高下单的TPS (Transaction per second),我们首先要做的是对下单的逻辑剥离,只保留核心部分,而把附加功能剔除出去。比如说下单要考虑库存量,考虑发短信,要给卖家发旺旺消息通 知,要对订单做统计,要做销售额统计等等,这些功能是必要的,但是也是附加的功能,要最大程度提. 阅读全文

posted @ 2012-07-09 15:20 奈何倾城 阅读(237) 评论(0) 推荐(0)

Varchar与char的区别
摘要:Varchar 对每个英文(ASCII)字符都占用2个字节,对一个汉字也只占用两个字节char 对英文(ASCII)字符占用1个字节,对一个汉字占用2个字节Varchar 的类型不以空格填满,比如varchar(100),但它的值只是"qian",则它的值就是"qian"而char 不一样,比如char(100),它的值是"qian",而实际上它在数据库中是"qian "(qian后共有96个空格,就是把它填满为100个字节)。由于char是以固定长度的,所以它的速度会比varchar快得多!但程序处理起来要麻烦一 阅读全文

posted @ 2012-07-09 14:50 奈何倾城 阅读(210) 评论(0) 推荐(0)

分组汇总 with rollup和with cube和compute by 和排名函数
摘要:retmxls-- 商品销售明细表 rq--日期 spid--商品信息 sshje--每笔销售记录的金额 select spid,rq, sum(sshje) from retmxls group by rq,spid with ROLLUP order by spid 根据group by 后的第一个字段进行分组,我这里的是rq,那就是同日期的为一组,并在这一组完的最后一行插入一个空行,显示这个组的sshje 的汇总 select spid,rq, sum(sshje) from retmxls group by spid,rq with cube order by spid 根据g 阅读全文

posted @ 2010-12-17 15:26 奈何倾城 阅读(704) 评论(0) 推荐(0)

Datedif函数
摘要:DateBase工龄计算公式,产生的结果为“年,月”,需注意,日期格式为 “2009-5-10”“yyyy-mm-dd” 公式如下 =DATEDIF(D3,TODAY(),"Y")&" 年"&MOD(DATEDIF(D3,TODAY(),"M"),12)&"月" datedif是一个十分方便的函数,可以计算两日期之间的天数、月数和年数 Datedif(start_date,end_date,unit)只是Excel为了沿袭Lotus123的一个 函数,属于隐藏函数 语法 DATEDIF(start_date,end_date,unit) Start_date 为一个日期,它代表时间段内的第 阅读全文

posted @ 2010-12-17 15:12 奈何倾城 阅读(2737) 评论(0) 推荐(0)

Sql Server 2005中的架构(Schema)、用户(User)、角色(Role)和登录(Login)(三)
摘要:摘要:【目的】了解数据库中角色(Role)的概念和用处。【方法】用李老板的公司发展中碰 到的问题例证角色的重要性【结论】角色在用户越多的情况下越能凸显出它的作用。 3.1 深入了解架构(Schema) 在进入李老板的故事之前,让我们先对Sql Server2005中的架构做一个更深入的了解。 用户(User)和架构(Schema)的关系 一个架构有且只有一个所有者Owner。 一个用户可以拥有... 阅读全文

posted @ 2010-08-26 14:05 奈何倾城 阅读(1037) 评论(0) 推荐(1)

Sql Server 2005中的架构(Schema)、用户(User)、角色(Role)和登录(Login)(二)
摘要:在第一节中,我们了解了架构的意义。在第二节的开始,我们暂时 忘记架构这个东西。我们假设我们的数据库只有数据库对象。 李老板开了一个小公司,公司有个仓库,堆放了一些货物,由于仓库小,为了节约成本,这个仓库根本没有锁。只要知道仓库在哪里,就可以去取货。这种情况对 应数据库来说,就是只要我知道数据库名和表名,我就可以对它进行操作。这对程序员来说当然是最方便了。这就是数据库的第一阶段:无权限管 理阶段。假... 阅读全文

posted @ 2010-08-26 14:04 奈何倾城 阅读(1055) 评论(2) 推荐(0)

Sql Server 2005中的架构(Schema)、用户(User)、角色(Role)和登录(Login)一
摘要:我相信很多人接触这些概念的时候一头雾水。要把这些概念理清楚真不是件容易的事,哪像原始社会,只要能分清楚什么能吃什么不能吃就行了。 但是我始终坚信,每一个概念的产生必然是因为碰到了无法解决的问题。换句话说,如果没有它,必然会导致某些问题难以解决。所以我想从这个角度切入, 希望能把这几个复杂而暧昧的多角关系从最实用的角度来阐述清楚。 在问题的最初,我们假定的数据库什么都没有。 数据库对象。首先,数据库... 阅读全文

posted @ 2010-08-26 14:00 奈何倾城 阅读(552) 评论(0) 推荐(0)

导航