随笔分类 -  数据库

摘要:http://ryxxlong.iteye.com/blog/744049http://www.cnblogs.com/freshman0216/archive/2008/08/15/1268316.html 阅读全文
posted @ 2011-04-02 11:35 RyanBell 阅读(317) 评论(0) 推荐(0)
摘要:http://blog.csdn.net/ldslove/archive/2010/05/21/5613523.aspx 阅读全文
posted @ 2011-03-31 13:48 RyanBell 阅读(232) 评论(0) 推荐(0)
摘要:http://terryli.blog.51cto.com/704315/439573 阅读全文
posted @ 2011-03-30 09:09 RyanBell 阅读(209) 评论(0) 推荐(0)
摘要:判断某一个表的记录总数,对于一个开发者来说是最再常见不过的事,我想大家都常用的作法就是: select count(*) from 表名; 这种做法没做,我这儿主要说的是效率问题。当一个数据表的记录数不是太多时,这样得到记录总数的效率不是问题。但试想,如果一个表的记录总数超过几百万或者几千万,要再用上面的Sql语句得到表的记录总数,速度会慢得让人难以忍受。有人会说了,可以一表上建立聚簇集索引呀,不错,若在表的某个字段上建立聚簇索引,第一次执行该语句的时间和没有索引的时间差不多,之后执行上述语句,速度很快。但如果要经常做增删改操作,建立聚簇索引不是一个明智的做法,将会极大的影响增删改的速度。得到 阅读全文
posted @ 2010-12-23 12:50 RyanBell 阅读(268) 评论(0) 推荐(0)
摘要:http://www.cnblogs.com/zxppc/archive/2010/09/19/1831211.html 阅读全文
posted @ 2010-11-08 19:49 RyanBell 阅读(239) 评论(0) 推荐(0)
摘要:http://www.cnblogs.com/zxppc/archive/2010/09/19/1830996.html 阅读全文
posted @ 2010-11-08 19:34 RyanBell 阅读(684) 评论(0) 推荐(0)
摘要:http://blog.csdn.net/htl258/archive/2009/09/10/4537421.aspx 阅读全文
posted @ 2010-11-05 10:36 RyanBell 阅读(194) 评论(0) 推荐(0)
摘要:在SQL中逻辑表达式的可能值包括TRUE、FALSE、UNKNOWN。他们被称为三值逻辑。三值逻辑是SQL所特有的。大多数的变成语言的逻辑表达式只有TRUE或FALSE两种值。SQL中的UNKNOWN通常出现在包含NULL值的逻辑表达式中(例如,下面的逻辑值都是UNKNOWN:NULL>42;NULL=NULL;X+NULL>Y)。NULL值通常表示丢失或不相关的值。当比较丢失值和另一个值(这个值也可能是NULL)时,逻辑结果总是UNKNOWN。 处理UNKNOWN逻辑结果和NULL时非常容易混淆。NOT TRUE等于FALSE,NOT FALSE等于TRUE,而否定的UNKNOW 阅读全文
posted @ 2010-11-02 19:59 RyanBell 阅读(2343) 评论(0) 推荐(1)
摘要:为了简单起见,假设如下表:DI1 ID2 MyValue---------------------------A X 2A X 1A Y 2A Y 1B X 3B Y 2B Y2使用SUM()函数对第三个列值总计:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->SELECT ID1,ID2,SUM(MyValue) FROM #SampleGROUP BY ID1,ID2返回结果:ID1 ID2 (无列名)A X 3B X 3A Y 3B Y 阅读全文
posted @ 2010-11-02 12:57 RyanBell 阅读(5981) 评论(1) 推荐(3)
摘要:作为SQL Server领域公认的经典,该系列图书不但囊括大量鲜为人知的技术内幕,而且还包含作者的经验之谈和一些非常实用的技巧,是所有SQL Server用户的案头必备之书。 阅读全文
posted @ 2010-10-29 14:24 RyanBell 阅读(7191) 评论(26) 推荐(4)
摘要:DBA工作到底有哪些DBA的职责l 安全性l 可用性 功能面、性能面l 可靠性l 可扩展性 设计和实现l 数据库服务器环境l 数据库的存储架构l 数据库的逻辑对象结构l 数据库的对象权限配置l 数据库的备份恢复策略l 数据库的性能优化策略l 数据库的异构协同结构DBA工作方法分析-->设计-->实施-->测试-->优化大型服务器环境下的SQL Serverl SMP 多CPU支持、大容量内存支持l AWE 多CPU支持、大容量内存支持l 分布式分区视图l 索引视图数据库的存储架构l 分析用户的数据存储需求l 合适的存储设备结构- SCSI优于IDE- RAID优于Sin 阅读全文
posted @ 2010-10-22 18:36 RyanBell 阅读(496) 评论(0) 推荐(0)
摘要:Registered Servers 窗口: 可以用SSMS注册多个服务器并连接,这样DBA就可以在一个环境下管理多个本地或远程服务器。Registered Servers 窗口默认下不可见,要显示它,单击View菜单选择Registered Servers选项,或者按下快捷键 Ctrl+Alt+G 。 右击Registered Servers窗口任一位置,打开上下文菜单,通过菜单注册新的服务器,也可以创建服务器组。 如果公司有多个服务器,服务器组是很有用的。例如,服务器注册可以分段进行,把所有的测试和开发服务器放在一组,产品服务器放在另一组,或者根据职责或部门给服务器分组。数据库引擎,报表服 阅读全文
posted @ 2010-10-21 13:05 RyanBell 阅读(1483) 评论(0) 推荐(0)
摘要:之前我们要将一个表中的数据导出为脚本,那么只有在网上找一个导出数据的Script,然后运行就可以导出数据脚本了。现在在SQL Server 2008的Management Studio中增加了一个新特性,除了导出表的定义外,还支持将表中的数据导出为脚本。导出过程: 在SSMS2008(SQL Server Management Studio 2008)中的对象资源管理器中,右击需要导出数据的数据库,在弹出式菜单中选择“任务”下的“生成脚本”选项。 在脚本向导的选择脚本选项中,有以下重要选项可以选择:“编写数据的脚本”:是否导出数据库中的表数据。“包含 If Not Exists”:此选项可以. 阅读全文
posted @ 2010-10-20 23:13 RyanBell 阅读(27857) 评论(2) 推荐(4)
摘要:SQLServer子查询可以分为 相关子查询 和 嵌套子查询 两类。前提,假设Books表如下:类编号图书名 出版社价格--------------------------------------------------------2 c#高级应用 圣通出版 23.002 Jsp开发应用机械出版社 45.003 高等数学 济南出版社 25.003 疯狂英语 清华大学出版社 32.00 嵌套子查询的执行不依赖与外部的查询。执行过程:(1)执行子查询,其结果不被显示,而是传递给外部查询,作为外部查询的条件使用。(2)执行外部查询,并显示整个结果。 嵌套子查询一般可以分为:返回 单值的子查询 和 返 阅读全文
posted @ 2010-10-20 20:52 RyanBell 阅读(35613) 评论(8) 推荐(8)
摘要:--创建表Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->use tempdbIF OBJECT_ID('Tab') is not null DROP TABLE TabGOCREATE TABLE Tab( [Col1] INT ,[Col2] nvarchar(1))--生成测试数据Code highlighting produced by Actipro CodeHighlighter (freeware)http:// 阅读全文
posted @ 2010-10-19 23:30 RyanBell 阅读(4421) 评论(0) 推荐(0)
摘要:在Check中使用Case函数在Check中使用Case函数在很多情况下都是非常不错的解决方法。可能有很多人根本就不用Check,那么我建议你在看过下面的例子之后也尝试一下在SQL中使用Check。 下面我们来举个例子: 公司A,这个公司有个规定,女职员的工资必须高于1000块。如果用Check和Case来表现的话,如下所示 :CONSTRAINT check_salary CHECK ( CASE WHEN sex = '2' THEN CASE WHEN salary > 1000 THEN 1 ELSE 0 END ELSE 1 END = 1 ) 如果单纯使用Ch 阅读全文
posted @ 2010-10-19 23:12 RyanBell 阅读(506) 评论(0) 推荐(0)
摘要:Case具有两种格式:简单Case函数和Case搜索函数。--简单Case函数Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END --Case搜索函数 Code highlighting produced by Actipro CodeHighligh 阅读全文
posted @ 2010-10-19 22:52 RyanBell 阅读(344) 评论(0) 推荐(0)
摘要:Group By 子句用于对结果集进行分组,并对每一组数据进行汇总计算。语法格式:Group By [列名] [HAVING 条件表达式]Group By按“列名”指定的列进行分组,将该列列值相同的记录组成一组,并对每一组进行汇总计算。每一组生成一条记录。若有“HAVING 条件表达式”,则表示对生成的组进行筛选。假如,TableX表包含:--------------------------------ColumnA ColumnB ColumnC1 abc 51 def 41 ghi 92 jkl 82 mno 3如果 ColumnA 是组合列,则结果集中最终将有两行,其中一行汇总值 1 的 阅读全文
posted @ 2010-10-19 17:29 RyanBell 阅读(4684) 评论(0) 推荐(0)
摘要:默认情况下,如果在子查询,函数,视图中尝试去使用ORDER BY,CREATE VIEW dbo.VSortedOrdersASSELECT orderid, customeridFROM dbo.OrdersORDER BY orderidGO那么可能会遇到下面的错误:消息 1033,级别 15,状态 1,第 4 行除非另外还指定了 TOP 或 FOR XML,否则,ORDER BY 子句在视图、内联函数、派生表、子查询和公用表表达式中无效。原因就是针对一个表的SELECT其实并不是返回一个表,而是一个游标。如果一定要用怎么办呢?答案就是配合 TOP 100 PERCENTCode high 阅读全文
posted @ 2010-10-19 13:12 RyanBell 阅读(1767) 评论(0) 推荐(0)
摘要:语法:SET NOCOUNT { ON | OFF } 默认情况下为 OFF 当 SET NOCOUNT 为 OFF 时,返回计数。 当 SET NOCOUNT 为 ON 时,不返回计数(表示受Transact-SQL 语句影响的行数)。也更新 @@ROWCOUNT 函数,但不给客户端发送存储过程中的每个语句的 DONE_IN_PROC 信息。使用 Microsoft® SQL Server™ 提供的实用工具执行查询时,在 Transact-SQL 语句(如 SELECT、INSERT、UPDATE 和 DELETE)结束时将不会在查询结果中显示"nn rows affec 阅读全文
posted @ 2010-10-19 12:57 RyanBell 阅读(428) 评论(0) 推荐(0)