05 2013 档案
SAVE TRAN
摘要:USE AdventureWorks;GOIF EXISTS (SELECT name FROM sys.objectsWHERE name = N'SaveTranExample')DROP PROCEDURE SaveTranExample;GOCREATE PROCEDURE SaveTranExample@InputCandidateID INTAS-- Detect if the procedure was called-- from an active transaction and save-- that for later use.-- In the proce 阅读全文
posted @ 2013-05-31 09:13 davidkam 阅读(395) 评论(0) 推荐(0) 编辑
Web开发者不容错过的20段CSS代码(转)
摘要:摘要:共享已成为互联网的一种主流,尤其是分享一些非常实用的技术,本文收集了20段非常专业的CSS 2/CSS 3代码片段给大家,你可以把它们保存在IDE里、或者存储在CSS文档里,这些代码片段绝对会给你带来意外的惊喜。Web开发技术每年都在革新,浏览器已逐渐支持CSS3特性,并且网站设计师和前端开发者普遍采用这种新技术进行设计与开发。但仍然有一些开发者迷恋着一些CSS2代码。本文将分享20段非常专业的CSS2/CSS3代码供大家使用,你可以把它们保存在IDE里、或者存储在CSS文档里,这些代码片段绝对会给你带来意外的惊喜。1. CSS Resets网络上关于CSS重置的代码非常多。本段代码是根 阅读全文
posted @ 2013-05-27 22:42 davidkam 阅读(202) 评论(0) 推荐(0) 编辑
MVC3+EF4.1学习系列(十一)----EF4.1常见的问题解决(转)
摘要:文章索引和简介博客写了10篇了~有很多朋友私信问了一些问题,而且很多问题 大家问的都一样 这里说说这些常见问题的解决办法.如果大家有更好的解决办法~也希望分享出来问题大概为这几个一.ef4.1 codeFirst 修改表结构 增加字段等 EF code first需要重新生成库导致数据丢失的问题.二.ef4.1 没有了edmx等复杂的东西 变得简单 干净 但如何使用存储过程,存储过程可以返回表 可以返回数值 也有可能是执行修改 删除 增加等 该怎么做?三.ef4.1 如何使用数据库视图?每个视图都要去建立对应的实体类么?有简单的方法么?四.ef4.1 如何执行SQL函数等操作?五.ef4.1 阅读全文
posted @ 2013-05-27 22:40 davidkam 阅读(357) 评论(0) 推荐(1) 编辑
NLog文章系列——如何配置NLog(转)
摘要:NLog支持以多种不同方式配置,目前同时支持直接编程和使用配置文件两种方法。本文将对目前支持的各种配置方式作详细描述。日志配置通过在启动的时候对一些常用目录的扫描,NLog会尝试使用找到的配置信息进行自动的自我配置。当你运行一个独立的*.exe客户端可执行程序时,NLog将在以下目录搜索配置信息:标准的程序配置文件(通常为程序名.exe.config)程序目录下的程序名.exe.nlog文件程序目录下的NLog.config文件NLog.dll所在目录下的NLog.dll.nlog文件如果定义了NLOG_GLOBAL_CONFIG_FILE环境变量,则该变量所指向的文件如果是一个ASP.NET 阅读全文
posted @ 2013-05-27 22:39 davidkam 阅读(258) 评论(0) 推荐(0) 编辑
MSSQLSERVER数据库- 事务(转)
摘要:我接触.NET编程已经有两年了,在这之前就会一点ASP和SQL语句。刚接触时在网上请教一个从事ASP.NET工作不久的网友,什么是事务? 当时他没答上。事实上我接触.NET这两年里,做一些小例子,也不用到事务。所以我对事务是什么?为什么要有事务?还是这几天才清楚。在理解什么是事务前,先来考虑这么一个问题。为什么要有事务? 假设我们在进行银行转帐的时候,至少会执行两条SQL语句,一条SQL语句是减少转帐人里帐户的钱,一条是增加收帐人里帐户钱。 例如有一个朋友要转帐1000元:1、那么转帐人的银行里的钱减少1000 2、那么收帐人的银行里的钱增加1000 ... 阅读全文
posted @ 2013-05-27 22:38 davidkam 阅读(241) 评论(0) 推荐(0) 编辑
SQL用户权限分配(转)
摘要:对于数据库安全,的确是很值得数据库管理员的重视。至于有什么重要性,我就不多说了!赶快进入主题吧!下面以图文并茂的方式,来看看怎么一步步给数据库用户分配权限!环境:SQL Server 2005运行SQL,以数据库管理员身份登录,下面给出测试数据库的脚本代码,需要锻炼动手能力的朋友,可以执行它!CREATEDATABASEteachingGOUSETeachingGOCREATETABLEStudent(Snochar(10)PRIMARYKEY,Snamechar(8),Sageint,Ssexchar(2),Sdeptchar(20))CREATETABLECourse(Cnochar(.. 阅读全文
posted @ 2013-05-27 22:37 davidkam 阅读(642) 评论(0) 推荐(0) 编辑
LOG EXPLORER FOR SQL SERVER 4.2 (一)(转)
摘要:前几天因为一个例外,数据库在没有做备份的情况下,直接删除了表记录。事后,又需要查询到删除的记录的内容。因此,在网上软件SS了半天,发现Log Exlorer For SQL Service能实现将表操作日志显示出来的功能。下载安装使用后,发现这款软件的确不错,收藏ing。本次的使用的VER:4.2 Demo; 数据库:SQL2005;目的:恢复被删除的数据。所以,只略说了恢复数据的步骤。4.2Demo的界面以蓝色为主调,运行软件可见:(1).点击<Attach Log File>开始进行数据恢复。(2).确定要恢复数据的服务器,并输入登陆的用户名和密码,如果是本机可使用”windo 阅读全文
posted @ 2013-05-27 22:36 davidkam 阅读(214) 评论(0) 推荐(0) 编辑
删除无限极分类的sql存储过程(转)
摘要:CREATEPROCEDURE[dbo].[Category_Delete]@CategoryIdintAS--DELETE [Category]-- WHERE CategoryId=@CategoryId--DELETE [Category]-- WHERE FatherId=@CategoryIddeclare@tabaTABLE([tabid] [int]NOTNULL)insert@taba (tabid)selectCategoryIdfromCategoryWHEREFatherId=@CategoryIddeclare@idintwhile(exists(selecttop1 阅读全文
posted @ 2013-05-27 22:35 davidkam 阅读(204) 评论(0) 推荐(0) 编辑
SQL Server数据库并发问题详述(转)
摘要:问题背景及特点:我们在使用多用户数据库时常常会碰到数据更新失败、删除失等情况,如果有多个用户且同时访问一个数据库则当他们的事务同时使用相同的数据时可能会发生并发问题。并发问题包括:1.丢失或覆盖更新。(幻像读)2.未确认的相关性(脏读)。3.不一致的分析(非重复读)。周详描述:1.丢失更新当两个或多个事务选择同一行,然后基于最初选定的值更新该行时,会发生丢失更新问题。每个事务都不知道其他事务的存在。最后的更新将重写由其他事务所做的更新,这将导致数据丢失。例如,两个编辑人员制作了同一文件的电子复本。每个编辑人员独立地更改其复本,然后保存更改后的复本,这样就覆盖了原始文件。最后保存其更改复本的编辑 阅读全文
posted @ 2013-05-27 22:34 davidkam 阅读(356) 评论(0) 推荐(0) 编辑
SqlBulkCopy批量复制数据(转)
摘要:在.Net1.1中无论是对于批量插入整个DataTable中的所有数据到数据库中,还是进行不同数据源之间的迁移,都不是很方便。而 在.Net2.0中,SQLClient命名空间下增加了几个新类帮助我们通过DataTable或DataReader批量迁移数据。数据源可以来自关 系数据库或者XML文件,甚至WebService返回结果。其中最重要的一个类就是SqlBulkCopy类,使用它可以很方便的帮助我们把数据源的数 据迁移到目标数据库中。下面我们先通过一个简单的例子说明这个类的使用:首先:web.config<connectionStrings><addname=" 阅读全文
posted @ 2013-05-27 22:33 davidkam 阅读(255) 评论(0) 推荐(0) 编辑
怎么样将sql server数据库中的结构导入到powerdesign中(转)
摘要:最近使用powerdesign12.5,要将一个非常大的库导入powerdesign12.5,方便开发人员查看数据库表字段。反向工程!PD反向工程步骤:1.安装powerdesign12.5,打开powerdesign12.5(简称pd)2.在pd中,新建一个pdm,选择数据库为sql server3.选择Database->configure connections,转到system dsn标签,点击"添加",选择驱动程序,sql server4.在data source name 中,可以随便命名一个"SQL-test",在tns-server 阅读全文
posted @ 2013-05-27 22:32 davidkam 阅读(487) 评论(0) 推荐(0) 编辑
百万数据下几种SQL性能测试(转)
摘要:今天闲来学习了一下SQL性能优化方面的知识,有以下学习收获,欢迎大家指点。测试环境:90W,单条记录约3KB,数据库:MSSQL2005测试前清除缓存DBCC FREEPROCCACHEDBCC DROPCLEANBUFFERS一、翻页性能测试1、Topselect top 10 * from message where id not in (select top 20 id frommessage where classid=77 order by id desc ) and classid=77 order by id desc2、Max/Topselect top 10 * from m 阅读全文
posted @ 2013-05-27 22:31 davidkam 阅读(171) 评论(0) 推荐(0) 编辑
Sql server锁,独占锁,共享锁,更新锁,乐观锁,悲观锁(转)
摘要:锁有两种分类方法。(1) 从数据库系统的角度来看锁分为以下三种类型:独占锁(Exclusive Lock)独占锁锁定的资源只允许进行锁定操作的程序使用,其它任何对它的操作均不会被接受。执行数据更新命令,即INSERT、 UPDATE 或DELETE 命令时,SQL Server 会自动使用独占锁。但当对象上有其它锁存在时,无法对其加独占锁。独占锁一直到事务结束才能被释放。共享锁(Shared Lock)共享锁锁定的资源可以被其它用户读取,但其它用户不能修改它。在SELECT 命令执行时,SQL Server 通常会对对象进行共享锁锁定。通常加共享锁的数据页被读取完毕后,共享锁就会立即被释放。更 阅读全文
posted @ 2013-05-27 22:30 davidkam 阅读(237) 评论(0) 推荐(0) 编辑
SqlServer之xp_cmdshell_使用以及配置(转)
摘要:SQL Server的导出导入方式有:在SQL Server中提供了导入导出的界面操作。在界面操作中又分【复制一个或多个表或视图的数据】和【编写查询以指定要传输的数据】两种模式,第一种是直接对表、视图进行全部字段、记录进行导出,而第二种就是可以通过SQL语句来控制导出导入的字段和行。使用简单但有用的SQL脚本中的【表复制】这里面的方法。再一种就是在命令行中使用bcp命令来导入导出数据,需要特别说明的是,这是对大数据量导入导出就好的办法。--整个表导出(out)bcp 数据库名.dbo.表名 out c:\currency.txt-S"数据库实例"-U"用户&quo 阅读全文
posted @ 2013-05-27 22:29 davidkam 阅读(1146) 评论(0) 推荐(0) 编辑
sql server清空日志文件(转)
摘要:1: 删除LOG1:分离数据库 企业管理器->服务器->数据库->右键->分离数据库2:删除LOG文件3:附加数据库 企业管理器->服务器->数据库->右键->附加数据库此法生成新的LOG,大小只有520多K 再将此数据库设置自动收缩或用代码:下面的示例分离 77169database,然后将 77169database 中的一个文件附加到当前服务器。EXEC sp_detach_db @dbname = "77169database"EXEC sp_attach_single_file_db @dbname = "77169database", @ph 阅读全文
posted @ 2013-05-27 22:29 davidkam 阅读(209) 评论(0) 推荐(0) 编辑
SQL Server数据库中批量替换数据的方法(转)
摘要:SQL Server数据库操作中,我们可能会根据某写需要去批量替换数据,那么如何批量修改替换数据呢?本文我们就介绍这一部分内容,接下来就让我们一起来了解一下吧…… SQL Server数据库操作中,我们可能会根据某写需要去批量替换数据,那么如何批量修改替换数据呢?本文我们就介绍这一部分内容,接下来就让我们一起来了解一下吧。 方法一: 这种是最常用的,因为很多大段的内容都使用text ntext等数据类型,而我们通常也是替换里面的内容,varchar和nvarchar类型是支持replace,所以如果你的text不超过8000可以先转换成前面两种类型再使用replace,替换text nt... 阅读全文
posted @ 2013-05-27 22:28 davidkam 阅读(857) 评论(0) 推荐(0) 编辑
Sql纵向表转为横向表,并分组统计(转)
摘要:在写系统尤其是在写课程系统是经常会遇到类似如下纵-横转换,在使用group by ... with cube/rollup + grouping() 来实现是非常容易做到的。1. 用于测试的数据如下:declare@tabtable(Classvarchar(20),Studentvarchar(20),Coursevarchar(50),Gradesdecimal(7,2));insertinto@tab(Class,Student,Course,Grades)values('A班','张三','语文',60);insertinto@tab(C 阅读全文
posted @ 2013-05-27 22:27 davidkam 阅读(1666) 评论(0) 推荐(0) 编辑
如何有效防范SQL注入-来自微软(转)
摘要:http://technet.microsoft.com/zh-cn/library/ms161953.aspx更新日期:2005 年 12 月 5 日SQL 注入是一种攻击方式,在这种攻击方式中,恶意代码被插入到字符串中,然后将该字符串传递到 SQL Server 的实例以进行分析和执行。任何构成 SQL 语句的过程都应进行注入漏洞检查,因为 SQL Server 将执行其接收到的所有语法有效的查询。一个有经验的、坚定的攻击者甚至可以操作参数化数据。SQL 注入的主要形式包括直接将代码插入到与 SQL 命令串联在一起并使其得以执行的用户输入变量。一种间接的攻击会将恶意代码注入要在表中存储或作 阅读全文
posted @ 2013-05-27 22:26 davidkam 阅读(218) 评论(0) 推荐(0) 编辑
SQL Server里面如何导出包含(insert into)数据的SQL脚本(转)
摘要:通常情况下,SQL Server里面的生成SQL脚本,只会包含数据库及表的字段结构,而不会包含表的数据,也就是SQL脚本里面只有Create database,Create table 这样的语句,没有insert into。因为SQL Server并不包含这个功能,只能靠第三方的代码了。以下存储过程可以实现:CREATEPROCEDUREdbo.UspOutputData@tablenamesysnameASdeclare@columnvarchar(1000)declare@columndatavarchar(1000)declare@sqlvarchar(4000)declare@xty 阅读全文
posted @ 2013-05-27 22:25 davidkam 阅读(299) 评论(0) 推荐(0) 编辑
SQL Server 重置Identity标识列的值(INT爆了(转)
摘要:一、背景 SQL Server数据库中表A中Id字段的定义是:[Id] [int] IDENTITY(1,1),随着数据的不断增长,Id值已经接近2147483647(int的取值范围为:-2 147 483 648 到 2 147 483 647)了,虽然已经对旧数据进行归档,但是这个表需要保留最近的1亿数据,有什么方法解决Id值就快爆的问题呢? 解决上面的问题有两个办法:一个是修改表结构,把Id的int数据类型修改为bigint;第二个是重置Id(Identity标识列)的值,使它重新增长。 当前标识值:current identity value,用于记录和保存最后一次系统分配的I... 阅读全文
posted @ 2013-05-27 22:24 davidkam 阅读(309) 评论(0) 推荐(0) 编辑
优化杭州某著名电子商务网站高并发千万级大型数据库经验之- SQL语句优化(转)
摘要:昨天晚上看探索栏目,深海捕捞帝王蟹;在遥远的阿拉斯加,捕捞船若捞上来的是母蟹会全部重新放到海里,每个人手上拿了一个尺子,若尺寸没达标的公蟹会重新放到大海里,邪恶的美国你为什么这么强大、我愿意当个幸福的母蟹、但是千万不要把我生在邪恶的东海,曾经从来没想移民的愿望,看了这期探险节目后,更加懂了什么叫爱护环境爱护地球了。我们的东海别说螃蟹,好像连虾米都被电死得差不多了干得竟都是断子绝孙的事儿,邪恶的美帝你太强大了。希望我们不要成为人类的害虫。 我们可以无知,但是不能愚昧,不能干太多断子绝孙的事情,保护我们生存环境从你我做起。 好久没写博客了,一方面是日常工作繁忙,另外一方面是想更多的时间陪陪家里人. 阅读全文
posted @ 2013-05-27 22:22 davidkam 阅读(279) 评论(0) 推荐(1) 编辑
SQL 大数据量的优化例子讨论(转)
摘要:今天在itput上看了一篇文章,是讨论一个语句的优化: 原贴地址:http://www.itpub.net/viewthread.php?tid=1015964&extra=&page=1 一,发现问题 优化的语句:请问以下语句如何优化:CREATETABLEaa_001(ipVARCHAR2(28),nameVARCHAR2(10),passwordVARCHAR2(30))select*fromaa_001whereipin(1,2,3)orderbynamedesc;--目前表中记录有一千多万条左右,而且in中的值个数是不确定的。 以上就是优化的需要优化的语句和情况。 不 阅读全文
posted @ 2013-05-27 22:21 davidkam 阅读(209) 评论(0) 推荐(0) 编辑
SqlBulkCopy 是个好对象(转)
摘要:SqlBulkCopy是专门用作大数据的导入的, 相比单条的Insert看起来要爽的多. 据说能相差几十倍的性能差距(我们稍后自己做一下测试)微软关于SqlBulkCopy给出的信息如下Microsoft SQL Server 提供一个称为 bcp 的流行的命令提示符实用工具,用于将数据从一个表移动到另一个表(表既可以在同一个服务器上,也可以在不同服务器上)。SqlBulkCopy 类允许编写提供类似功能的托管代码解决方案。还有其他将数据加载到 SQL Server 表的方法(例如 INSERT 语句),但相比之下 SqlBulkCopy 提供明显的性能优势。 使用 SqlBulkCopy 类 阅读全文
posted @ 2013-05-27 22:20 davidkam 阅读(195) 评论(0) 推荐(0) 编辑
SQLServer中批量插入数据方式的性能对比(转)
摘要:昨天下午快下班的时候,无意中听到公司两位同事在探讨批量向数据库插入数据的性能优化问题,顿时来了兴趣,把自己的想法向两位同事说了一下,于是有了本文。公司技术背景:数据库访问类(xxx.DataBase.Dll)调用存储过程实现数据库的访问。技术方案一:压缩时间下程序员写出的第一个版本,仅仅为了完成任务,没有从程序上做任何优化,实现方式是利用数据库访问类调用存储过程,利用循环逐条插入。很明显,这种方式效率并不高,于是有了前面的两位同事讨论效率低的问题。技术方案二:由于是考虑到大数据量的批量插入,于是我想到了ADO.NET2.0的一个新的特性:SqlBulkCopy。有关这个的性能,很早之前我是亲自 阅读全文
posted @ 2013-05-27 22:19 davidkam 阅读(514) 评论(0) 推荐(0) 编辑
程序员谨防加班猝死之十大建议(转)
摘要:过劳死的精英每年都会有几个,其中最多的就是办公室白领,IT精英也占很大的比重。 13号有个新闻,“奥美公关北京公司一名24岁男性员工在办公室突发心脏病,经抢救无效死亡。早在2008年,奥美公司一位广告总监也因心脏病突发死 亡。而此前猝死、过劳死事件多集中于知名会计师事务所,此次公关公司年轻员工猝死事件又引发了外界对公关行业高强度工作的广泛关注。” 我勒个去。当时看到此新闻我立马告诉领导今天不加班,领导问:why。我说:加你弟,我不想猝死。领导说:那我也不加了,别死在一块。这里给出加班防猝死十法,供大家参考。1、间歇性睡眠。如果实在要加班话3分钟时间睡一觉,记住不能超过5分钟。一睡着立马醒,.. 阅读全文
posted @ 2013-05-27 16:01 davidkam 阅读(221) 评论(0) 推荐(0) 编辑
SQL Server 批量插入数据的两种方法(转)
摘要:原文:http://blog.csdn.net/tjvictor/article/details/4360030 在SQL Server 中插入一条数据使用Insert语句,但是如果想要批量插入一堆数据的话,循环使用Insert不仅效率低,而且会导致SQL一系统性能问题。下面介绍 SQL Server支持的两种批量数据插入方法:Bulk和表值参数(Table-Valued Parameters)。运行下面的脚本,建立测试数据库和表值参数。[c-sharp] view plaincopy--CreateDataBasecreatedatabaseBulkTestDB;gouseBulkTestD 阅读全文
posted @ 2013-05-25 14:32 davidkam 阅读(172) 评论(0) 推荐(0) 编辑
负载均衡 session解决方案
摘要:下观点来自于互联网,经本人整理搜集:一、使用数据库存放session此种方案把Session信息存储到数据库表,这样实现不同应用服务器间Session信息的共享。适合并发量不大的网站优点:实现简单缺点:由于数据库服务器相对于应用服务器更难扩展且资源更为宝贵,在高并发的Web应用中,最大的性能瓶颈通常在于数据库服务器。因此如果将 Session存储到数据库表,频繁的增加、删除、查询操作很容易造成数据库表争用及加锁,最终影响业务。二、使用nfs存放session 通过NFS方式来实现各台服务器间的Session共享,各台服务器只需要mount共享服务器的存储Session的磁盘即可,实现较为简单。 阅读全文
posted @ 2013-05-25 01:01 davidkam 阅读(385) 评论(0) 推荐(0) 编辑
Dapper.NET
摘要:http://my.oschina.net/feichexia/blog/128349Dapper是Stackoverflow开发人员开发的一个针对ADO.NET的轻量级SQL对象Mapper,其关键特性就是高效。使用非常简单,就不详细说明了,详细参考下面的链接(包含所有相关内容): Google Code:https://code.google.com/p/dapper-dot-net/ 测试代码:https://code.google.com/p/dapper-dot-net/source/browse/Tests/Tests.cs 其他数据库框架与Dapper处理Insert对比:... 阅读全文
posted @ 2013-05-22 10:29 davidkam 阅读(1102) 评论(0) 推荐(0) 编辑
大型网站如何提高性能(转)
摘要:一个小型的网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系统架构、性能的要求都很简单。随着互联网业务的不断丰富,网站相关的技术经过这些年的发展,已经细分到很细的方方面面,尤其对于大型网站来说,所采用的技术更是涉及面非常广,从硬件到软件、编程语言、数据库、WebServer、防火墙等各个领域都有了很高的要求,已经不是原来简单的html静态网站所能比拟的。 大型网站,比如门户网站,在面对大量用户访问、高并发请求方面,基本的解决方案集中在这样几个环节:使用高性能的服务器、高性能的数据库、高效率的编程语言、还有高性能的Web容器。. 阅读全文
posted @ 2013-05-21 20:50 davidkam 阅读(219) 评论(0) 推荐(0) 编辑
Asp.net下from认证统一认证配置
摘要:使用asp.net的form认证如果需要实现在不同二级域名下登入需要修改一下web.config配置,将from认证配置节点中domain属性修改为同一域名,如:website.com。参考例子: <authentication mode="Forms"> <forms name=".FrameWork" defaultUrl="/Default.aspx" loginUrl="/Login.aspx" domain=".website.com" path="/&qu 阅读全文
posted @ 2013-05-21 20:47 davidkam 阅读(171) 评论(0) 推荐(0) 编辑
Web网站架构设计(转)
摘要:目录 [隐藏/显示]1 - Web负载均衡1.1 - 使用商业硬件实现1.2 - 使用开源软件1.3 - 使用windows自带的互载均衡软件1.4 - 总结2 - 静态网站2.1 - 静态域名划分2.2 - 静态网站的缓存2.2.1 - 使用CDN2.2.2 - 自己搭建CDN3 - 动态网站3.1 - 域名划分3.2 - 文件上传及显示3.2.1 - 存放在数据库3.2.2 - 存放在文件服务器3.3 - 动态网站内容更新3.4 - 动态网站缓存技术3.5 - 配置文件3.5.1 - 通过同步软件实现3.5.2 - 通过配置服务实现3.5.3 - 通过数据库实现4 - 网页性能4.1 - 阅读全文
posted @ 2013-05-21 20:39 davidkam 阅读(340) 评论(0) 推荐(0) 编辑
nginx与lvs做负载均衡的比较(转)
摘要:lvs和nginx都可以用作多机负载的方案,它们各有优缺,在生产环境中需要好好分析实际情况并加以利用。首先提醒,做技术切不可人云亦云,我云即你云;同时也不可太趋向保守,过于相信旧有方式而等别人来帮你做垫被测试。把所有即时听说到的好东西加以钻研,从而提高自己对技术的认知和水平,乃是一个好习惯。下面来分析一下两者:一、lvs的优势:1、抗负载能力强,因为lvs工作方式的逻辑是非常之简单,而且工作在网络4层仅做请求分发之用,没有流量,所以在效率上基本不需要太过考虑。在我手里的lvs,仅仅出过一次问题:在并发最高的一小段时间内均衡器出现丢包现象,据分析为网络问题,即网卡或linux2.4内核的承载能力 阅读全文
posted @ 2013-05-21 20:32 davidkam 阅读(169) 评论(0) 推荐(0) 编辑
squid,nginx,apache几个代理软件的比较(转)
摘要:在并发上,nginx无疑是老大,做反向代理的时候,没有发现squid的并发方面介绍,所以暂且认为ngnix是老大,apache的稳定性有目共睹,但在并发方面的确不是很如意。缓存方面:squid,apache都支持diskcache和memcache,根据http的head头来确定是否缓存,nginx不支持缓存,不过我在google开源上看见了新浪的水杨老大的一个东东,给nginx加上了文件缓存,不过没有大规模使用,暂时不把它当做一种解决方案。在代理和缓存的规则上,apache很强,很强大的重写功能,尤其是强制修改http规则,不过这个功能我始终没有调试成功,no-cache的页面始终无法去缓存 阅读全文
posted @ 2013-05-21 20:24 davidkam 阅读(812) 评论(0) 推荐(0) 编辑
squid,nginx,lighttpd反向代理的区别(转)
摘要:反向代理从传输上分可以分为2种:1:同步模式(apache-mod_proxy和squid)2:异步模式(lighttpd 和 nginx)在nginx的文档说明中,提到了异步传输模式并提到它可以减少后端连接数和压力,这是为何?下面就来讲解下传统的代理(apache/squid)的同步传输和lighttpd,nginx的异步传输的差异。看图:同步传输:浏览器发起请求,而后请求会立刻被转到后台,于是在浏览器和后台之间就建立了一个通道。在请求发起直到请求完成,这条通道都是一直存在的。异步传输:浏览器发起请求,请求不会立刻转到后台,而是将请求数据(header)先收到nginx上,然后nginx再把 阅读全文
posted @ 2013-05-21 20:22 davidkam 阅读(196) 评论(0) 推荐(0) 编辑
利用 squid 反向代理提高网站性能(转)
摘要:本文在介绍 squid 反向代理的工作原理的基础上,指出反向代理技术在提高网站访问速度,增强网站可用性、安全性方面有很好的用途。作者在具体的实验环境下,利用 DNS 轮询和 Squid 反向代理技术,实现了网站的负载均衡,从而提高了网站的可用性和可靠性。本文在介绍 squid 反向代理的工作原理的基础上,指出反向代理技术在提高网站访问速度,增强网站可用性、安全性方面有很好的用途。作者在具体的实验环境下,利用 DNS 轮询和 Squid 反向代理技术,实现了网站的负载均衡,从而提高了网站的可用性和可靠性。现在有许多大型的门户网站如 SINA 都采用 squid 反向代理技术来加速网站的访问速度, 阅读全文
posted @ 2013-05-21 20:16 davidkam 阅读(198) 评论(0) 推荐(0) 编辑
SQL Server 2005 海量数据解决方案(分区表)与对已存在的表进行分区(转)
摘要:这两天一直在研究SQL Server 2005 中如何对表进行分区,但是参考了多数资料都是说新建表后再将原表中数据插入到新表中,这样有些不方便. 最后找到了在已有表上做分区表的方法.见代码. 我们有个表现在已经到了1千万的数据,之前仅仅是优化索引和索引试图来在真实的环境中查看到底sql2005单表能负载多大的量。 最后得出结论,在我们公司现有的硬件条件下,sql2005中,单表的量最多不能超过250w数据。(这个数据会根据硬件的不同而会有所不同.)---select * from t200705--1.先根据表数据的量大小,来拆分每一个分区,保证每一个分区表的记录尽量在250w条记录左右.-. 阅读全文
posted @ 2013-05-18 15:05 davidkam 阅读(188) 评论(0) 推荐(0) 编辑
SQL Server数据库优化方案(转)
摘要:SQL Server数据库优化方案 查询速度慢的原因很多,常见如下几种: 1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2、I/O吞吐量小,形成了瓶颈效应。 3、没有创建计算列导致查询不优化。 4、内存不足 5、网络速度慢 6、查询出的数据量过大(可以采用多次查询,其他的方法降低数据量) 7、锁或者死锁(这也是查询慢最常见的问题,是程序设计的缺陷) 8、sp_lock,sp_who,活动的用户查看,原因是读写竞争资源。 9、返回了不必要的行和列 10、查询语句不好,没有优化 可以通过如下方法来优化查询: 1、把数据、日志、索引放到不同的I/O... 阅读全文
posted @ 2013-05-18 09:11 davidkam 阅读(151) 评论(0) 推荐(0) 编辑
SQL Server 2005 中的分区表和索引(转)
摘要:适用于: SQL Server 2005 摘要:SQL Server 2005 中基于表的分区功能为简化分区表的创建和维护过程提供了灵活性和更好的性能。追溯从逻辑分区表和手动分区表的功能到最新分区功能的发展历程,探索为什么、何时以及如何使用 SQL Server 2005 设计、实现和维护分区表。(本文包含一些指向英文站点的链接。) 关于本文本文所描绘的功能和计划是下一版本 SQL Server 的开发方向。它们并非本产品的说明书,如有更改,恕不另行通知。对于最终产品是否具有这些功能不做任何明示或暗示的保证。对于某些功能,本文假设读者熟悉 SQL Serve... 阅读全文
posted @ 2013-05-18 09:05 davidkam 阅读(242) 评论(0) 推荐(0) 编辑
50种方法巧妙优化你的SQLServer数据库(转)
摘要:查询速度慢的原因很多,常见如下几种: 1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2、I/O吞吐量小,形成了瓶颈效应。 3、没有创建计算列导致查询不优化。 4、内存不足 5、网络速度慢 6、查询出的数据量过大(可以采用多次查询,其他的方法降低数据量) 7、锁或者死锁(这也是查询慢最常见的问题,是程序设计的缺陷) 8、sp_lock,sp_who,活动的用户查看,原因是读写竞争资源。 9、返回了不必要的行和列 10、查询语句不好,没有优化 可以通过如下方法来优化查询: 1、把数据、日志、索引放到不同... 阅读全文
posted @ 2013-05-18 09:04 davidkam 阅读(427) 评论(0) 推荐(0) 编辑
数据库命名规范(转)
摘要:Table: 实体表:不超过3个单词或者24个字符,例:user,group 关系表:表1_表2_relation,例:user_group_relation 当需要使用的表名为SQL保留关键字,可以使用tbl_表名的方式(全部),或者复数形式解决View: [******]_view,例:user_group_view表空间(Oracle): ts_[******],例:ts_user分区表(Oracle): tp_+分区描述,例:tp_system_items_0612约束: ckc_[表]_[字段] ckt_[表],例:ckc_user_id,ckt_user一般索引:idx_[*... 阅读全文
posted @ 2013-05-18 09:02 davidkam 阅读(234) 评论(0) 推荐(0) 编辑
SQL Server DBA常见面试 笔试问题(转)
摘要:很 多开发人员都想成为一名DBA,也有很多人一开始就把自己定位成为一名DBA,DBA究竟需要掌握些什么知识和技能呢?以下是我做DBA工作和面试DBA 时,整理的一些DBA方面的三十个问题,三十个大问题中还有许多小的问题,涵括了SQLServer DBA比较多的技术知识点,与大家分享下,希望给有志做DBA的朋友们一些帮助:1. char、varchar、nvarchar之间的区别(包括用途和空间占用);xml类型查找某个节点的数据有哪些方法,哪个效率高;使用存储过程和使用T-SQL查询数据有啥不一样;2. 系统DB有哪些,都有什么作用,需不需要做备份,为什么;损坏了如何做还原(主要是master 阅读全文
posted @ 2013-05-18 09:00 davidkam 阅读(272) 评论(0) 推荐(0) 编辑
SQL Server 2008 分区函数和分区表详解(转)
摘要:http://database.9sssd.com/mssql/art/951当我们数据量比较大的时候,我们需要将大型表拆分为多个较小的表,则只访问部门数据的查询就可以更快的运行,基本原理就是,因为要扫描的数据变的更小。维护任务(例如,重新生成索引或备份表)也可以更快的运行。我 们可以再不通过将表物... 阅读全文
posted @ 2013-05-18 08:59 davidkam 阅读(268) 评论(0) 推荐(0) 编辑
T- SQL性能优化详解(转)
摘要:故事开篇:你和你的团队经过不懈努力,终于使网站成功上线,刚开始时,注册用户较少,网站性能表现不错,但随着注册用户的增多,访问速度开始变慢,一些用户开始发来邮件表示抗议,事情变得越来越糟,为了留住用户,你开始着手调查访问变慢的原因。 经过紧张的调查,你发现问题出在数据库上,当应用程序尝试访问/更新数据时,数据库执行得相当慢,再次深入调查数据库后,你发现数据库表增长得 很大,有些表甚至有上千万行数据,测试团队开始在生产数据库上测试,发现订单提交过程需要花5分钟时间,但在网站上线前的测试中,提交一次订单只需要 2/3秒。 类似这种故事在世界各个角落每天都会上演,几乎每个开发人员在其开发生涯中都会.. 阅读全文
posted @ 2013-05-18 08:58 davidkam 阅读(248) 评论(0) 推荐(0) 编辑
SQL Server表分区(转)
摘要:一、分区表简介使用分区表的主要目的,是为了改善大型表以及具有各种访问模式的表的可伸缩性和可管理性大型表:数据量巨大的表。访问模式:因目的不同,需访问的不同的数据行集,每种目的的访问可以称之为一种访问模式。分区一方面可以将数据分为更小、更易管理的部分,为提高性能起到一定的作用;另一方面,对于如果具有多个CPU的系统,分区可以是对表的操作通过并行的方式进行,这对于提升性能是非常有帮助的。注意:只有 SQL Server Enterprise Edition 支持分区。二、创建分区表或分区索引的步骤可以分为以下步骤:1. 确定分区列和分区数2. 确定是否使用多个文件组3. 创建分区函数4. 创建分区 阅读全文
posted @ 2013-05-18 08:56 davidkam 阅读(379) 评论(0) 推荐(1) 编辑
数据库索引详解(转)
摘要:1、索引是什么索引是与表或视图关联的磁盘上结构,可以加快从表或视图中检索行的速度。索引包含由表或视图中的一列或多列生成的键。这些键存储在一个结构(B 树)中,使 SQL Server 可以快速有效地查找与键值关联的行。表或视图可以包含以下类型的索引:* 聚集 o 聚集索引根据数据行的键值在表或视图中排序和存储这些数据行。索引定义中包含聚集索引列。每个表只能有一个聚集索引,因为数据行本身只能按一个顺序排序。 o 只有当表包含聚集索引时,表中的数据行才按排序顺序存储。如果表具有聚集索引,则该表称为聚集表。如果表没有聚集索引,则其数据行存储在一个称为堆的无序 结构中。 * 非聚集 o 非聚集索引具有 阅读全文
posted @ 2013-05-18 08:54 davidkam 阅读(198) 评论(0) 推荐(0) 编辑
深入浅出 SQL Server 查询优化[转]
摘要:目前网络数据库的应用已经成为最为广泛的应用之一了,并且关于数据库的安全性,性能都是企业最为关心的事情。数据库渐渐成为企业的命脉,优化查询就解决了 每个关于数据库应用的性能问题,在这里 microsoft sql server 又为我们做了些什么,我们一起关注。 优化查询我们理解起来貌似很抽象,概括范围十分的大,关于数据库这里的优化查询其实很简单,做一个简单的例子。一个数据包经过无数的路由器达到自己的目的 地址,如果在经过每个路由器的时候,路由器都会给他指向最近的路,那么他抵达的速度也就是最快的。在数据库中也是一样,查询优化就是建立一个一个的路标, 就是给这本厚厚的书,写一份简单快捷好用的目录. 阅读全文
posted @ 2013-05-18 08:49 davidkam 阅读(182) 评论(0) 推荐(0) 编辑
SQL Server 2005 创建分区表(转)
摘要:背景:随着公司的业务迅猛发展,导致部分数据表的数据量剧增(T_ZK_C0075ALog、T_ZK_C007ALog),无法满足用户对查询效率、性能的要求。 意义:在于将大数据从物理上切割为几个相互独立的小部分,从而在查询时只取出其中一个或几个分区,减少影响的数据;另外,对置于不同文件组的分区,并行查询的性能也要高于对整个表的查询性能。 事实上,在SQL Server 2005 中就已经包含了分区功能,甚至在2005之前,还存在一个叫做“Partitioned Views”的功能,能通过将同样结构的表Union在一个View中,实现类似现在分区表的效果。而在SQL Server 2008 中,分 阅读全文
posted @ 2013-05-18 08:47 davidkam 阅读(212) 评论(0) 推荐(0) 编辑
sql分区-纵向分表与横向分区表(转)
摘要:1. 纵向分表 纵向分表是指将一个有20列的表根据列拆分成两个表一个表10列一个表11列,这样单个表的容量就会减少很多,可以提高查询的性能,并在一定程度上减少锁行,锁表带来的性能损耗。纵向分表的原则是什么呢,应该怎样拆分呢?答案是根据业务逻辑的需要来拆分,对于一张表如果业务上分两次访问某一张表其中一部分数据,那么就可以根 据每次访问列的不同来做拆分; 另外还可以根据列更新的频率来拆分,例如某些列每天要更新3次,有些列从创建开始基本上很少更新。举例: 假定场景,我有一张用户表,这张表包含列: ID, UserName, Password, RealName, Gender, Email, IsE 阅读全文
posted @ 2013-05-18 08:41 davidkam 阅读(880) 评论(0) 推荐(0) 编辑
读写分离,就该这么改进(转)
摘要:本文是自己对读写分离数据库方面的一些改进想法一般做数据库读写分离的标准情况是:1台写入数据库+2台查询数据库+1个请求转发器这样的配置容易出现这样的问题:1. 写数据库的写入成为瓶颈2. 查询所需时间还是很长(由于表很大导致)下面这些办法,欢迎大家给出各自的看法解决办法一: 1. 查询数据库:增加内存,以达到通过内存就可以获取大多数的数据,较少I/O耗时带来的延迟 2. 写入数据库:删除索引,以达到最快速的I/O写入耗时这样做的问题是:没有针对特别耗时的查询单独处理,因此当执行某些耗时的查询时,会显得特别慢解决办法二: 1. 查询数据库分成2种,分别为:普通数据读取数据库、特别耗时查询数据库 阅读全文
posted @ 2013-05-18 08:34 davidkam 阅读(196) 评论(0) 推荐(0) 编辑
大型高性能ASP.NET系统架构设计(转)
摘要:原文:http://www.cnblogs.com/chenzhao/archive/2012/02/17/2355523.html大型动态应用系统平台主要是针对于大流量、高并发网站建立的底层系统架构。大型网站的运行需要一个可靠、安全、可扩展、易维护的应用系统平台做为支撑,以保证网站应用的平稳运行。大型动态应用系统又可分为几个子系统:Web前端系统、负载均衡系统、数据库集群系统、缓存系统、分布式存储系统、分布式服务器管理系统、代码分发系统1、web前端系统为了达到不同应用的服务器共享、避免单点故障、集中管理、统一配置等目的,不以应用划分服 务器,而是将所有服务器做统一使用,每台服务器都可以对多 阅读全文
posted @ 2013-05-17 09:03 davidkam 阅读(405) 评论(0) 推荐(2) 编辑
Web.config中自定义配置节点(转)
摘要:原文:http://www.cnblogs.com/yangyp/archive/2013/04/09/3008500.htmlASP.NET应用程序中,很大部分重要功能可以通过web.config来配置。其中有一个<configSection>的节点,里面包含了.net定义的配置节处理程序与配置节之间的关联。也可以自定义节点和自定义配置节点的处理程序。如图所示:最近项目中使用到了自定义节点,简单总结下:在web.config中的<configSection>节点中添加要自定义的节点<section>,指定name为获取自定义配置的类实体的类名(AppApl 阅读全文
posted @ 2013-05-17 08:55 davidkam 阅读(266) 评论(0) 推荐(0) 编辑
WEB架构师成长之路之二-大牛的法宝(转)
摘要:要成为WEB架构师,首先要找到通往成功的正确方向,详见第一篇,WEB架构师成长之路http://www.cnblogs.com/vance/archive/2013/04/12/3017532.html,接下来我们就要往这个方向努力。然而如唐僧去西天取经一样,要历经种种磨难,一路上打败各种妖魔鬼怪才能继续前行,所以唐僧取经,第一件事,就是招徒弟,遇见妖魔鬼怪就让技术高超的徒弟打败它,徒弟不听话就念紧箍咒,徒弟也搞不定的妖怪,就请观音菩萨搞定,这就是唐僧成功的法宝,没法宝上路,看来我们会死的比较惨啊,哈哈。 我们在通往架构师的路上,同样会遇到各种各样的问题,但不幸的是,没有菩萨在暗中相助,要是有 阅读全文
posted @ 2013-05-17 08:49 davidkam 阅读(135) 评论(0) 推荐(0) 编辑
WEB架构师成长之路之一-走正确的路(转)
摘要:本人也是coding很多年,虽然很失败,但也总算有点失败的心得,不过我在中国,大多数程序员都是像我一样,在一直走着弯路,如果想成为一个架构师,就必须走正确的路,否则离目标越来越远,正在辛苦工作的程序员们,你们有没有下面几种感觉?一、 我的工作就是按时完成领导交给我的任务,至于代码写的怎样,知道有改进空间,但没时间去改进,关键是领导也不给时间啊。二、 我发现我的水平总是跟不上技术的进步,有太多想学的东西要学,Jquery用的人最近比较多啊,听说最近MVC比较火,还有LINQ,听说微软又有Silverlight了……三、 我发现虽然我工作几年了,除了不停的coding,Ctrl+c和Ctrl+V更 阅读全文
posted @ 2013-05-17 08:48 davidkam 阅读(159) 评论(0) 推荐(0) 编辑
Entity Framework4.0 (七) EF4的存储过程(转)
摘要:原文:http://www.cnblogs.com/cw_volcano/archive/2013/04/16/3023479.html前面了解了EF4的CRUD的操作,你会发现EF4使用起来比较简单的。呵呵,之前我们使用数据库的时候,有时会使用存储过程代替在代码中直接使用SQL语句。使用存储过程的好处:提高效率:因为存储过程是经过编译优化后,存储在数据库服务器的。SQL语句在执行的时候,需要临时编译。一般来说,存储过程的效率比SQL语句效率高。降低日后维护的难度:因为对存储过程的修改不需要修改应用程序代码。我们在程序代码中直接调用的是存储过程名字,和参数列表(如果是带参数的存储过程),在维护 阅读全文
posted @ 2013-05-17 08:45 davidkam 阅读(206) 评论(0) 推荐(0) 编辑
Entity Framework使用存储过程(转)
摘要:ADO.NET Entity Framework 中使用存储过程本文主要介绍在ADO.NET Entity Framework中使用存储过程来进行查询、插入、更新、删除操作。使用一下SQL建立实例数据库,下面选择了Northwind库来执行SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE TABLE [dbo].[Group]( [GroupID] [int] IDENTITY(1,1) NOT NULL, [GroupName] [nvarchar](20) NOT NULL,CONSTRAINT [PK_Group] PRI... 阅读全文
posted @ 2013-05-17 08:42 davidkam 阅读(244) 评论(0) 推荐(0) 编辑
京东SSO单点登陆实现分析(转)
摘要:京东的sso流程:初始访问状态:cookies:http请求:1.在首页点击登陆,跳转至passport.360buy.com,给予验证cookie alc(可以试试在提交登陆信息前删除该cookie)cookieshttp请求2.填写用户名密码,提交登陆,验证alc,登陆成功则给予sso的cookie ceshi3.com,跳转至首页cookies:3.首页异步ajax,向passport.360buy.com发起hello请求,hello请求返回json对象a,a包含sso(url地址数组,含请求参数)http请求:发起hello请求的脚本如下:点击(此处)折叠或打开<scriptt 阅读全文
posted @ 2013-05-17 08:35 davidkam 阅读(376) 评论(0) 推荐(0) 编辑
细说ASP.NET Forms身份认证(转)
摘要:阅读目录开始ASP.NET身份认证基础ASP.NET身份认证过程如何实现登录与注销保护受限制的页面登录页不能正常显示的问题认识Forms身份认证理解Forms身份认证实现自定义的身份认证标识在多台服务器之间使用Forms身份认证在客户端程序中访问受限页面用户登录是个很常见的业务需求,在ASP.NET中,这个过程被称为身份认证。 由于很常见,因此,我认为把这块内容整理出来,与大家分享应该是件有意义的事。在开发ASP.NET项目中,我们最常用的是Forms认证,也叫【表单认证】。 这种认证方式既可以用于局域网环境,也可用于互联网环境,因此,它有着非常广泛的使用。 这篇博客主要讨论的话题是:ASP. 阅读全文
posted @ 2013-05-15 11:08 davidkam 阅读(212) 评论(0) 推荐(0) 编辑
多线程 进度条 C# .net
摘要:前言 在我们应用程序开发过程中,经常会遇到一些问题,需要使用多线程技术来加以解决。本文就是通过几个示例程序给大家讲解一下多线程相关的一些主要问题。执行长任务操作 许多种类的应用程序都需要长时间操作,比如:执行一个打印任务,请求一个 WebService 调用等。用户在这种情况下一般会去转移做其他事情来等待任务的完成,同时还希望随时可以监控任务的执行进度。 下面的代码片断示例了当长任务执行时用户界面是如何被更新的。// 显示进度条void ShowProgress( int totalStep, int currentStep ){_Progress.Maximum = totalStep... 阅读全文
posted @ 2013-05-11 20:56 davidkam 阅读(452) 评论(0) 推荐(0) 编辑
数据库设计规范化的五个要求
摘要:数据库逻辑设计是优化关系数据库的核心。而数据库设计的规范化则是这个核心的核心。一个规范化的逻辑数据库,可以为数据库管理员优化数据库和应用程序性能打下坚实的基础。相反,若逻辑数据库设计不规范,则会损害整个数据库,包括应用程序的性能。 通常情况下,可以从两个方面来判断数据库是否设计的比较规范。一是看看是否拥有大量的窄表,二是宽表的数量是否足够的少。若符合这两个条件,则可以说明这个数据库的规范化水平还是比较高的。当然这是两个泛泛而谈的指标。为了达到数据库设计规范化的要求,一般来说,需要符合以下五个要求。 要求一:表中应该避免可为空的列。 虽然表中允许空列,但是,空字段是一种比较特殊的数据类型。... 阅读全文
posted @ 2013-05-10 19:30 davidkam 阅读(298) 评论(0) 推荐(0) 编辑
javascript css 使td内容不换行不撑开
摘要:我们只要设置td的样式就OK了具体样式如下:、td{white-space:nowrap;overflow:hidden;word-break:keep-all;} 阅读全文
posted @ 2013-05-05 00:11 davidkam 阅读(302) 评论(0) 推荐(0) 编辑


点击右上角即可分享
微信分享提示