FRANK数据库深入浅出
结合实际应用,从数据库的使用性能与效率出发(但不包括数据库配置),主要是从开发和设计层面剖析数据库的使用。
zhongguoren666
本人迄今已有近七年的工作经验,一直从事软件开发,曾涉彩票、教育、铁路、农业、门户网站等多个行业,个人认为最精深的要数彩票行业了。本人开发过程中最擅长的要数C 和DELPHI,当然,在SOCKET、COM 、WebServic、数据库、多线程、线程同步、线程池、数据库连接池、串口通讯、UI设计、进程间通信等等技术也有较深入的学习。本人自认充满活力、拥有激情、爱好学习、充满自信。衷心希望能提供大家一些有用帮助与建议!
展开
-
SQL SERVER 2008 阻止保存要求重新创建表的更改
最近,由于工作需要使用了SQL 2008数据库,遇到一些问题。这里先解决我遇到的第一个问题吧! 当用户在在SQL Server 2008企业管理器中更改表结构时,必须要先删除原来的表,然后重新创建新表,才能完成表的更改,如果强行更改会出现以下提示: 不允许保存更改。您所做的原创 2011-08-02 17:38:01 · 1037 阅读 · 0 评论 -
整理索引碎片,提升SQL Server速度
数据库表A有十万条记录,查询速度本来还可以,但导入一千条数据后,问题出现了。当选择的数据在原十万条记录之间时,速度还是挺快的;但当选择的数据在这一千条数据之间时,速度变得奇慢。凭经验,这是索引碎片问题。检查索引碎片DBCC SHOWCONTIG(表),得到如下结果:DBC原创 2011-08-10 14:53:30 · 2076 阅读 · 0 评论 -
SQL 2005 with(nolock)详解
大家在写查询时,为了性能,往往会在表后面加一个nolock,或者是with(nolock),其目的就是查询是不锁定表,从而达到提高查询速度的目的。 什么是并发访问:同一时间有多个用户访问同一资源,并发用户中如果有用户对资源做了修改,此时就会对其它用户产生某些不利的影响,例原创 2011-08-11 11:21:40 · 929 阅读 · 0 评论 -
数据库查询性能调优和索引优化
查询性能调优是个很大的话题,这里边涉及到的技术非常广泛,但是我们一般可以把它大致分为以下几个层次:1.减少数据访问。相关的技术就是建立合适的索引,将全表扫描、索引扫描(scan)等耗时的操作转化为索引查找(seek)。建立正确的索引,能让数据库查询性能提升100-1000倍甚原创 2011-08-15 11:14:50 · 1162 阅读 · 0 评论 -
如何建立索引,提高查询速度
--- 人们在使用SQL时往往会陷入一个误区,即太关注于所得的结果是否正确,而忽略了不同的实现方法之间可能存在的 性能差异,这种性能差异在大型的或是复杂的数据库环境中(如联机事务处理OLTP或决策支持系统DSS)中表现得尤为明 显。笔者在工作实践中发现,不良的SQL往原创 2011-08-15 14:10:46 · 1606 阅读 · 0 评论 -
程序员应知——数据库设计的两个误区
写在前面:本来“程序员应知”系列中应该写的都是与程序员密切相关的内容,而数据库设计似乎应该是数据库管理员的工作。然而,在实际的工作环境中,我所经历几乎所有的项目中,数据库设计工作都是由程序员来完成的;就算我们是不需要做数据库设计的程序员,也至少需要对数据库的结构有充分的理解,那样原创 2011-08-18 11:38:46 · 818 阅读 · 0 评论 -
windows xp sp3 安装Sql 2005失败处理
MSXML 6.0 报错解决如下:假设你的系统盘是c打开运行输入cmd在命令行下输入:cd c:\windows\system32regsvr32 /u msxml6.dlldel msxml6.dllregsvr32 /u msxml6r.dll原创 2011-08-19 11:22:16 · 1809 阅读 · 0 评论 -
SQL语句导入导出大全
******* 导出到excelEXEC master..xp_cmdshell 'bcp SettleDB.dbo.shanghu out c:/temp1.xls -c -q -S"GNETDATA/GNETDATA" -U"sa" -P""'/**********原创 2011-08-19 11:24:16 · 1239 阅读 · 0 评论 -
nchar,char,varchar与nvarchar区别
最近在公司里做项目,遇到一个问题,建的数据库里的中文字符和音标显示为乱码,组里的人所有字符都用varchar表示,所以出现上诉问题,当改为Nvarchar后,问题得到解决。所以有必要把他们的区别再重新复习一遍。 char类型: 对英文(ASCII)字符占用1个原创 2011-08-19 13:30:35 · 1607 阅读 · 3 评论 -
Sql server 存储过程加密
本方法可用于加密SQL存储过程、函数或者触发器使用 WITH ENCRYPTION 选项:WITH ENCRYPTION 子句对用户隐藏存储过程的文本例子:IF OBJECT_ID(N'[Pro_Encrypt_Test]') IS NOT NULL D原创 2011-08-23 15:34:42 · 2764 阅读 · 0 评论 -
SQL 2005 的存储过程和触发器调试
昨天晚上我找遍了互联网也没有发现关于SQL2005存储过程和触发器的调试方法,研究到凌晨2点多钟,终于找到方法了,不干独享,拿出来分享。如果要转载,请保留版权,谢谢! 在SQL2000中,我们想要调试存储过程非常简单,只需要在对象浏览器中找到存储过程,然后点击鼠标原创 2011-08-25 13:30:35 · 1287 阅读 · 0 评论 -
分享一些数据库使用的心得
1、应用程序中,保证在实现功能的基础上,尽量减少对数据库的访问次数;通过搜索参数,尽量减少对表的访问行数,最小化结果集,从而减轻网络负担;能够分开的操作尽量分开处理,提高每次的响应速度;在数据窗口使用SQL时,尽量把使用的索引放在选择的首列;算法的结构尽量简单;在查询时,不要过多地使用通配符如SELECT * FROM T1语句,要用到几列就选择几列如:SELECT COL1,CO原创 2011-11-15 10:12:02 · 2198 阅读 · 3 评论 -
利用SQL SERVER2005发送邮件
原文:http://sqlserver2005.itpub.net/post/22359/210413早在sql server 2000中可以通过sql mail给指定的邮件地址发邮件。SQL SERVER 2005中我们仍外可以用sql server2000中的SQLMAIl功能发送邮件,但SQL SERVER2005中又提供一个新数据库邮件功能也可以发送和接收邮件。这里以数据库原创 2011-11-15 09:55:42 · 1400 阅读 · 0 评论 -
SQL SERVER临时表的使用
drop table #Tmp --删除临时表#Tmpcreate table #Tmp --创建临时表#Tmp( ID int IDENTITY (1,1) not null, --创建列ID,并且每次新增一条记录就会加1 WokN原创 2011-08-25 13:49:13 · 929 阅读 · 0 评论 -
查看sql server数据库连接数的三种方法
怎样才能查看sql server数据库连接数呢?下面就将为您介绍三种查看的方法,供您参考,希望能够帮助到您。1.通过系统的“性能”来查看:开始->管理工具->性能(或者是运行里面输入 mmc)然后通过添加计数器添加 SQL 的常用统计 然后在下面列出的项目里面选择用户原创 2011-08-26 15:55:05 · 2054 阅读 · 0 评论 -
SQL Server获取TEXT字段的内容长度
DATALENGTH返回任何表达式所占用的字节数。语法DATALENGTH ( expression ) 参数expression任何类型的表达式。返回类型int注释DATALENGTH 对 varchar、varbinary、text、i原创 2011-08-28 15:14:40 · 11538 阅读 · 1 评论 -
数据库桌面
数据库桌面(DataBase Desktop)允许用户创建、查看、排序、修改及查询一系列的Paradox、dBASE及SQL格式的数据表格,选用Edit|Paste Link可以用DDE(动态数据交换Dynamic Data Exchange)与在其它应用程序中的数据建立激活动连接。 一、数据库桌面(DataBase Desktop)新特点 除了改为新的Windows原创 2011-11-11 11:57:39 · 1543 阅读 · 0 评论 -
SQL Server 2008性能监视和优化工具
Microsoft SQL Server 提供了一套综合的工具,用于监视 SQL Server 中的事件和优化物理数据库的设计。工具的选择取决于要执行的监视或优化类型和要监视的具体事件。以下是 SQL Server 监视和优化工具:工具 说明 sp_trac原创 2011-09-06 10:08:31 · 5896 阅读 · 0 评论 -
SQL查询及删除重复记录的方法
SQL查询及删除重复记录的方法1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断select * from peoplewhere peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1)2、删除表中多余的重复记录,重复记录是根据单个字段原创 2011-11-10 16:09:17 · 1820 阅读 · 0 评论 -
建立索引常用的规则
1、表的主键、外键必须有索引;2、数据量超过300的表应该有索引;3、经常与其他表进行连接的表,在连接字段上应该建立索引;4、经常出现在Where子句中的字段,特别是大表的字段,应该建立索引;5、索引应该建在选择性高的字段上;6、索引应该建原创 2011-09-06 09:13:43 · 8962 阅读 · 0 评论 -
SQL Server2005数据库查询中使用CTE
转自:http://www.615i.cn/article.asp?id=183通用表表达式(CTEs)是SQL Server 2005的一项新功能。它们类似于alias(如在Select T1.* FROM MyTable T1中),不过功能更为强大。本质上,CTE是一个临转载 2011-10-08 17:47:03 · 746 阅读 · 0 评论 -
SELECT INTO 和 INSERT INTO SELECT 两种表复制语句
Insert是T-sql中常用语句,Insert INTO table(field1,field2,...) values(value1,value2,...)这种形式的在应用程序开发中必不可少。但我们在开发、测试过程中,经常会遇到需要表复制的情况,如将一个table1的数据的部原创 2011-10-12 14:24:30 · 798 阅读 · 0 评论 -
千万级别数据表,单列索引和多列索引性能对比
由于Contact表存在多个(单列)索引,造成Delete,update,insert操作时需要花费大量的时间删除索引和重建索引。通过把多个(单列)索引合并成一个(多列)索引后,测试得出Delete,update,insert操作时需要花费的时间大大缩短。原创 2011-10-13 14:41:15 · 1943 阅读 · 0 评论 -
分享SQL2005分区实现教程
本月技术会议专题为数据库分区( SQL Server Partitioning ),主要讲述为什么要分区,在什么情况下需要对数据进行分区,如何进行分区,分区表管理等内容。一、 摘要 ◆ 分区基础知识 u SQL Server2005 分区 u 技术讨原创 2011-10-13 15:05:29 · 799 阅读 · 0 评论 -
关系型数据库性能优化总结
对于web应用开发,多数性能瓶颈均出现在数据库上,除了采用分布式架构或云处理(大公司基本上都是),更重要的是平时程序设计时要遵照一些规则,从根本上提高系统的性能,以下总结了一些常用的规则方法,仅供参考,欢迎跟帖补充。。。 1、 把数据、日志、索引放到不同的I/O设备上,增加读取原创 2011-10-13 15:20:00 · 861 阅读 · 0 评论 -
SQL2005 索引优化
聚集索引 , 表中存储的数据按照索引的顺序存储 , 检索效率比普通索引高 , 但对数据新增 / 修改 / 删除的影响比较大 非聚集索引 , 不影响表中的数据存储顺序 , 检索效率比聚集索引低 , 对数据新增 / 修改 / 删除的影响很小 如何让你的 SQL 运行得更快原创 2011-10-13 15:33:57 · 814 阅读 · 0 评论 -
SQL2005合理的索引设计
合理的索引有助于提升系统性能和可用程度,我工作中见过一个设计错误的索引导致sqlserver将一台4cpu的服务器资源用尽。 权威参考参见msdn:http://msdn.microsoft.com/zh-cn/library/ms191195.aspx 1、评估索引本原创 2011-10-13 15:38:40 · 901 阅读 · 0 评论 -
SQL连接方式(左连接、右连接、全连接)
1.内连接、左连接、右连接、全连接介绍 內连接仅选出两张表中互相匹配的记录.因此,这会导致有时我们需要的记录没有包含进来。内部连接是两个表中都必须有连接字段的对应值的记录,数据才能检索出来。 左连接和右连接都是外部连接,也就是区别于内部连接,它对不满足连接条件的行并不是象内部连接一样将数据完全过滤掉,而是保留一部分数据,行数不会减少。 左连接是只要左边表中有记录,数据就能检索出原创 2011-11-07 13:25:23 · 4917 阅读 · 1 评论 -
深入浅出SQL之左连接、右连接和全连接
內连接仅选出两张表中互相匹配的记录.因此,这会导致有时我们需要的记录没有包含进来。为更好的理解这个概念,我们介绍两个表作演示。苏格兰议会中的政党表(party)和议员表(msp)。party(Code,Name,Leader)Code: 政党代码Name: 政党名称Leader: 政党领袖msp(Name,Party,Constituency)Name: 议员名Pa原创 2011-11-07 13:28:44 · 1105 阅读 · 0 评论