写的不错,打赏一下
摘要: 高效SQL语句必杀技 No SQL,No cost. SQL语句是造成数据库开销最大的部分。而不良SQL写法直接导致数据库系统性能下降的情形比比皆是。那么如何才能称得上高效的SQL语句呢?一是查询优化器为当前的SQL语句生成最佳的执行计划,保证数据读写使用最佳路径;二是设置合理的物理存储结构,如表的类型,字段的顺序,字段的数据类型等。本文主要描述如何编写高效的SQL语句并给出示例。下面的描述主要分为三个部分,一是编写高效SQL语句,二是使用索引提高查询性能的部分,三是总结部分。一、编写高效SQL语句[sql]view plaincopyprint?1)选择最有效的表名顺序(仅适用于RBO模式) 阅读全文
posted @ 2012-08-30 14:06 不负春光,努力生长 阅读(289) 评论(0) 推荐(0) 编辑
摘要: 下述14则数据库设计技巧,是许多人在大量的数据库分析与设计实践中,逐步总结出来的。对于这些数据库设计经验的运用,灵活掌握,并逐步做到:在应用中发展,在发展中应用。 数据库设计技巧14则 1. 原始单据与实体之间的关系 可以是一对一、一对多、多对多的关系。在一般情况下,它们是一对一的关系:即一张原始单据对应且只对应一个实体。在特殊情况下,它们可能是一对多或多对一的关系,即一张原始单证对应多个实体,或多张原始单证对应一个实体。这里的实体可以理解为基本表。明确这种对应关系后,对我们设计录入界面大有好处。 〖例1〗:一份员工履历资料,在人力资源信息系统中,就对应三个基本表:员工基本情况表、社会关... 阅读全文
posted @ 2012-08-30 14:05 不负春光,努力生长 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 大家来看一些不错的sql语句1、说明:复制表(只复制结构,源表名:a 新表名:b) (Access可用)法一:select * into b from a where 1<>1法二:select top 0 * into b from a2、说明:拷贝表(拷贝数据,源表名:a 目标表名:b) (Access可用)insert into b(a, b, c) select d,e,f from b;3、说明:跨数据库之间表的拷贝(具体数据使用绝对路径) (Access可用)insert into b(a, b, c) select d,e,f from b in ‘具体数据库’ wh 阅读全文
posted @ 2012-08-30 14:04 不负春光,努力生长 阅读(220) 评论(0) 推荐(0) 编辑
摘要: SQL 系统存储过程用法整理-- Author : htl258(Tony)-- Date: 2010-07-06 23:13:19-- Version: Microsoft SQL Server 2008 (RTM) - 10.0.1600.22 (Intel X86)--Jul9 2008 14:43:34--Copyright (c) 1988-2008 Microsoft Corporation--Developer Edition on Windows NT 5.1 <X86> (Build 2600: Service Pack 2)-- Blog: http://blo 阅读全文
posted @ 2012-08-30 14:04 不负春光,努力生长 阅读(398) 评论(0) 推荐(1) 编辑
摘要: SQL数据库常用命令全集--数据操作SELECT --从数据库表中检索数据行和列INSERT --向数据库表添加新数据行DELETE --从数据库表中删除数据行UPDATE --更新数据库表中的数据--数据定义CREATE TABLE --创建一个数据库表DROP TABLE --从数据库中删除表ALTER TABLE --修改数据库表结构CREATE VIEW --创建一个视图DROP VIEW --从数据库中删除视图CREATE INDEX --为数据库表创建一个索引DROP INDEX --从数据库中删除索引CREATE PROCEDURE --创建一个存储过程DROP PROCEDUR 阅读全文
posted @ 2012-08-30 14:03 不负春光,努力生长 阅读(289) 评论(0) 推荐(0) 编辑
摘要: SQL Server Management Studio 键盘快捷键 此文章由以前收藏,非原著。·SQL Server 2008 R2·SQL Server 2008SQL Server Management Studio 为用户提供了两种键盘方案。默认情况下使用的是“标准”方案,即使用基于 Microsoft Visual Studio 的键盘快捷键。另一种是 SQL Server 2000 方案,此方案与 SQL Server 2000 中的工具极为相似,尤其是查询分析器中的键盘快捷键。在一些情况下,SQL Server Management Studio 不能提供查询 阅读全文
posted @ 2012-08-30 14:02 不负春光,努力生长 阅读(1180) 评论(0) 推荐(0) 编辑
摘要: 一、内部函数 1、内部合计函数 1)COUNT(*) 返回行数 2)COUNT(DISTINCT COLNAME)返回指定列中唯一值的个数 3)SUM(COLNAME/EXPRESSION)返回指定列或表达式的数值和; 4)SUM(DISTINCT COLNAME) 返回指定列中唯一值的和 5)AVG(COLNAME/EXPRESSION)返回指定列或表达式中的数值平均值 6)AVG(DISTINCT COLNAME) 返回指定列中唯一值的平均值 7)MIN(COLNAME/EXPRESSION)返回指定列或表达式中的数值最小值 8)MAX(COLNAME/EXPRESSION)返回指定列或表 阅读全文
posted @ 2012-08-30 14:02 不负春光,努力生长 阅读(464) 评论(0) 推荐(0) 编辑
摘要: 很早就知道可以用.NET为SQLServer2005及以上版本编写存储过程、触发器和存储过程的,不过之前开发的系统要么因为历史原因用的是SQL2000要么根本用不着在SQLServer中启用CLR,所以一直没有尝试。最近因为项目的原因,在这方面做了一个调研,现在在这里分享一下心得。首先要说明的是要在SQLServer中启用CLR必须是在SQLServer2005及以上版本,其次在默认情况下是没有启用CLR的,必须要显示设置为启用。比如我们要在ArticleCollectorDB数据库中运行用.NET编写的函数或者存储过程,至少先要进行下面的SQL语句:[sql]view plaincopyex 阅读全文
posted @ 2012-08-30 14:00 不负春光,努力生长 阅读(472) 评论(0) 推荐(0) 编辑
摘要: SQL Server 索引结构及其使用一、深入浅出理解索引结构 实际上,您可以把索引理解为一种特殊的目录。微软的SQL SERVER提供了两种索引:聚集索引(clustered index,也称聚类索引、簇集索引)和非聚集索引(nonclustered index,也称非聚类索引、非簇集索引)。下面,我们举例来说明一下聚集索引和非聚集索引的区别: 其实,我们的汉语字典的正文本身就是一个聚集索引。比如,我们要查“安”字,就会很自然地翻开字典的前几页,因为“安”的拼音是“an”,而按照拼音排序汉字的字典是以英文字母“a”开头并以“z”结尾的,那么“安”字就自然地排在字典的前部。如果您翻完了所有.. 阅读全文
posted @ 2012-08-30 13:59 不负春光,努力生长 阅读(232) 评论(0) 推荐(0) 编辑
摘要: SQL Server 索引基础知识(1)--- 记录数据的基本格式由于需要给同事培训数据库的索引知识,就收集整理了这个系列的博客。发表在 这里,也是对索引知识的一个总结回顾吧。通过总结,我发现自己以前很多很模糊的概念都清晰了很多。不论是缓存的数据信息,还是物理保存的信息,他们的基本单位都是数据页。所以理解数据页是最最基础的知识点,本篇博客就介绍跟索引有关的数据页的一些基础知识。数据页的基础知识SQL Server 中数据存储的基本单位是页(Page)。数据库中的数据文件(.mdf 或 .ndf)分配的磁盘空间可以从逻辑上划分成页(从 0 到 n 连续编号)。磁盘 I/O 操作在页级执行。也就是 阅读全文
posted @ 2012-08-30 13:58 不负春光,努力生长 阅读(359) 评论(0) 推荐(0) 编辑
摘要: 常用正则表达式 正则表达式用于字符串处理、表单验证等场合,实用高效。现将一些常用的表达式收集于此,以备不时之需。匹配中文字符的正则表达式: [\u4e00-\u9fa5]评注:匹配中文还真是个头疼的事,有了这个表达式就好办了匹配双字节字符(包括汉字在内):[^\x00-\xff]评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)匹配空白行的正则表达式:\n\s*\r评注:可以用来删除空白行匹配HTML标记的正则表达式:<(\S*?)[^>]*>.*?|<.*? />评注:网上流传的版本太糟糕,上面这个也仅仅能匹配部分,对于复杂的嵌套标记依 阅读全文
posted @ 2012-08-30 13:51 不负春光,努力生长 阅读(249) 评论(0) 推荐(0) 编辑
摘要: /* 创建没有主数据文件和日志文件的数据库*/use mastergoif db_id( 'sales') is not nulldrop database salesgocreate database salesgo/*自定义创建数据库*/use mastergoif db_id('sales') is not nulldrop database salesgocreate database saleson --创建主数据文件( name = sales_dat ,--逻辑名称 filename='d:\sales\sales.mdf',--物 阅读全文
posted @ 2012-08-30 13:48 不负春光,努力生长 阅读(479) 评论(0) 推荐(0) 编辑
摘要: 引子:类型转换在程序中是最常见的情形之一,在C#中有几种形式的类型转换,对于初学者来说,很多时候不知道如何选择哪种形式的类型转换,或者对每一种的形式的类型转换理解不透,不能够灵活运用。 本文总结了C#中每种类型转换的特点和应用场合 概述:常见的类型转换可分为自动类型转换和强制类型转换、不同类型之间的相互转换三类。当将小类型变量赋值为大类型变量时将发生自动类型转换;当将大类型变量赋值给小类型变量时必须使用强制类型转换;如果是不同类型之间的相互转换则需要用到一些方法来辅助完成。下面将详细介绍三种形式。自动类型转换//基本数据类型之间的自动类型转换int i = 10;double d = i; . 阅读全文
posted @ 2012-08-30 13:46 不负春光,努力生长 阅读(248) 评论(0) 推荐(0) 编辑
摘要: C# 出来也有些日子了,最近由于编程的需要,对 C# 的类型转换做了一些研究,其内容涉及 C# 的装箱/拆箱/别名、数值类型间相互转换、字符的 ASCII 码和 Unicode 码、数值字符串和数值之间的转换、字符串和字符数组/字节数组之间的转换、各种数值类型和字节数组之间的转换、十六进制数输出以及日期型数据的一些转换处理,在这里与大家分享——1. 装箱、拆箱还是别名 许多 C#.NET 的书上都有介绍 int -> Int32 是一个装箱的过程,反之则是拆箱的过程。许多其它变量类型也是如此,如:short <-> Int16,long <-> Int64 等。对 阅读全文
posted @ 2012-08-30 13:45 不负春光,努力生长 阅读(634) 评论(0) 推荐(0) 编辑
摘要: 堆栈,堆栈,堆和栈的区别堆和栈的区别一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)—由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap)—一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。3、全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。-程序结束后有系统释放4、文字常量区—常量字符串就 阅读全文
posted @ 2012-08-30 13:44 不负春光,努力生长 阅读(198) 评论(0) 推荐(1) 编辑
摘要: C# 日期操作一、获得日期的方法:DateTime.Now;本身获得的就是本地的当前日期和时间,一般都是以本地的短日期时间格式显示DateTime.UtcNow 获得的才会是UTC时间!所以所有的操作基本都用DateTime.Now就可以了,不用考虑是否要转化成本地时间了;日期类型的ToString()方法接收的参数和其它类型的ToString()不一样;其它类型,例如数值型(一定要是数值型的,不然不起作用)的ToString()可接受:“N”,(具体可参考本文最后部分)以下是日期格式化是的精简的参数,用他们可以很方便的得到想要的格式;问题就是这些参数比较难记住,所以也附上另外一种比较直观的方 阅读全文
posted @ 2012-08-30 13:38 不负春光,努力生长 阅读(252) 评论(0) 推荐(0) 编辑