摘要: 人们在使用SQL时往往会陷入一个误区,即太关注于所得的结果是否正确,而忽略了不同的实现方法之间可能存在的性能差异,这种性能差异在大型的或是复杂的数据库环境中(如联机事务处理OLTP或决策支持系统DSS)中表现得尤为明显。 笔者在工作实践中发现,不良的SQL往往来自于不恰当的索引设计、不充份的连接条件和不可优化的where子句。 在对它们进行适当的优化后,其运行速度有了明显地提高! 下面我将从这三个方面分别进行总结: 为了更直观地说明问题,所有实例中的SQL运行时间均经过测试,不超过1秒的均表示为(< 1秒)。---- 测试环境: 主机:HP LH II---- 主频:330MHZ---- 阅读全文
posted @ 2011-08-13 11:45 caicainiao 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 1. 原始单据与实体之间的关系 可以是一对一、一对多、多对多的关系。在一般情况下,它们是一对一的关系:即一张原始单据对应且只对应一个实体。在特殊情况下,它们可能是一对多或多对一的关系,即一张原始单证对应多个实体,或多张原始单证对应一个实体。这里的实体可以理解为基本表。明确这种对应关系后,对我们设计录入界面大有好处。 〖例1〗:一份员工履历资料,在人力资源信息系统中,就对应三个基本表:员工基本情况表、社会关系表、工作简历表。这就是“一张原始单证对应多个实体”的典型例子。 2. 主键与外键 一般而言,一个实体不能既无主键又无外键。在E—R 图中, 处于叶子部位的实体, 可以定义主键,也可以不定义主 阅读全文
posted @ 2011-08-13 11:43 caicainiao 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 随着计算机技术越来越广泛地应用于国民经济的各个领域,在计算机硬件不断微型化的同时,应用系统向着复杂化、大型化的方向发展。数据库是整个系统的 核心,它的设计直接关系系统执行的效率和系统的稳定性。因此在软件系统开发中,数据库设计应遵循必要的数据库范式理论,以减少冗余、保证数据的完整性与正 确性。只有在合适的数据库产品上设计出合理的数据库模型,才能降低整个系统的编程和维护难度,提高系统的实际运行效率。虽然对于小项目或中等规模的项目 开发人员可以很容易地利用范式理论设计出一套符合要求的数据库,但对于一个包含大型数据库的软件项目,就必须有一套完整的设计原则与技巧。 一、成立数据小组大型数据库数据元素多 阅读全文
posted @ 2011-08-13 11:41 caicainiao 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 介绍两个查看SQLServer服务器是否被入侵的方法: 1、入侵者入侵后一般会开服务器的3389,建立隐藏用户,然后登录。我们只要到C:\Documents and Settings这个目录下看看是否有可以的用户名就可以了,不管是不是隐藏的用户,都会在这里显示出来。 2、有些入侵者喜欢留一个有高权限的sqlserver数据库用户,当作后门,我们可以打开登陆sqlserver的查询分析器,然后依次打开 master--系统表--dbo.sysxlogins,在这个窗口的name列中可以看到sqlserver数据库的用户,一般情况下会有3个用户,一个是sa,一个 BUILTIN\Administr 阅读全文
posted @ 2011-08-13 10:41 caicainiao 阅读(681) 评论(0) 推荐(0) 编辑
摘要: 我们在网络中经常会使用到ICMP协议,比如我们经常使用的用于检查网络通不通的Ping命令(Linux和Windows中均有),这个“Ping”的过程实际上就是ICMP协议工作的过程。还有其他的网络命令如跟踪路由的Tracert命令也是基于ICMP协议的。应对ICMP攻击 虽然ICMP协议给黑客以可乘之机,但是ICMP攻击也并非无药可医。只要在日常网络管理中未雨绸缪,提前做好准备,就可以有效地避免ICMP攻击造成的损失。 对于“Ping of Death”攻击,可以采取两种方法进行防范:第一种方法是在路由器上对ICMP数据包进行带宽限制,将ICMP占用的带宽控制在一定的范围内,这样即使有ICM. 阅读全文
posted @ 2011-08-13 10:25 caicainiao 阅读(974) 评论(0) 推荐(0) 编辑
摘要: DDOS的表现形式主要有两种,一种为流量攻击,主要是针对网络带宽的攻击,即大量攻击包导致网络带宽被阻塞,合法网络包被虚假的攻击包淹没而无法到达主 机;另一种为资源耗尽攻击,主要是针对服务器主机的攻击,即通过大量攻击包导致主机的内存被耗尽或CPU被内核及应用程序占完而造成无法提供网络服务。 如何判断网站是否遭受了流量攻击呢?可通过Ping命令来测试,若发现Ping超时或丢包严重(假定平时是正常的),则可能遭受了流量攻击,此时若发现和 你的主机接在同一交换机上的服务器也访问不了了,基本可以确定是遭受了流量攻击。当然,这样测试的前提是你到服务器主机之间的ICMP协议没有被路由器和 防火墙等设备屏蔽. 阅读全文
posted @ 2011-08-13 10:10 caicainiao 阅读(2378) 评论(0) 推荐(0) 编辑
摘要: 作为一个开发团队的管理者,例如当你是一个团队的项目经理的时候,任务的完成情况通常是你最关心的内容之一,比如说分配的任务是否 能够按时间完成, 整个项目的进度是否尚在计划之中,团队内的人是不是都在高效地工作,大家有没有什么困难,这些是你经常会关注的问题。在软件开发团队中,任务的分配、跟踪 和管理通常是这个团队管理者的一个重要的工作内容。 1 从问题谈起 我曾经碰到过一个项目经理,她管理着一个团队开发一个 web应用,团队里开发人员大概 10个左右,测试人员 3个,业务分析师 1个人。对于任务的管理她是这么做的。通常,她会将需求分析人员分析得到的需求给每个人分一些。然后每个人在领到任务之后会给她. 阅读全文
posted @ 2011-08-11 16:19 caicainiao 阅读(2103) 评论(0) 推荐(0) 编辑
摘要: 在目前的IT行业中,存在这样的潜规则:多做总比少做好,领导说的都是要做,权力决定对错。我们都曾遇到这样的情况,你的领导说:”小王,这个需求 要做,你看看多久能完。小王心想“都有这么多任务,,再把安排进来,项目进度肯定延迟,而且这个需求好像行不通”但小王只能说:“好的,需要赶工做,应该 差不多。” 为什么这么说,不用解释了。推卸工作不用说,领导肯定不认。 其实对每个任务,具体执行的人肯定清楚可行性,但如果不说实话,项目进度和后续的工作,代价都是不可估量的。如果说了不,领导肯定认为推卸工作。那在这个时候我们到底该如何做? 1 任何的问题从技术角度来说都不应该马上给出执行时间,至少你没有仔细分过,所 阅读全文
posted @ 2011-08-11 15:10 caicainiao 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 职场竞争惨烈,当职场趋势从企业端的“终身雇用”转变为个人端的“终身就业 ”,如何稳操胜券,让你的岗位无人可以取代? 一、不管坐什么位置,都要保持学习的习惯 进入社会工作十年到十五年左右,会有一种“上下卡住”的闭塞感与无力感。因为,这个阶段的上班族虽然拥有一定的资历与经验,工作也得心应手,但上面有比自己更资深的前辈压着,身边有随时想超越你的同辈,下面又有一群“年轻就是本钱”、娴熟科技的新时代员工虎视眈眈。 因此,建议你,不管你是基层员工、还是担任主管职位,都要保持学习的习惯,随时为自己的 竞争 力加值。因为,在全球化的时代,你不是跟中国人、美国人、日本人竞争,而是跟来自全球的顶尖人才竞争。学习. 阅读全文
posted @ 2011-08-11 14:53 caicainiao 阅读(211) 评论(0) 推荐(0) 编辑
摘要: 任何一个项目都存在可知和未知的风险,软件开发项目也是一样,如何应对风险对整个项目来说,至关重要,风险控制和应对的措施,我们都不希望发生,对于软件开发项目的常见风险基本有几下几种: 1 需求变化 这是最经常发生的问题,客户需求的变化不需要理由,即使有相关的合同规定,这导致的后果基本上就是项目延期,那么如何应对呢?首先,你要明确知道,这个风 险发生的概率很大,当发生时,接受的可能性比不接受大,所以要求我们在系统设计的时候,充分考虑灵活性,以最小的工作量应对该风险。而且进度的安排适当的 给出充分,当你发现需求变化的可能性很大时。另一种方法,就是采用小阶段的汇报和演示给客户,及时纠正需求,敏捷开发常用 阅读全文
posted @ 2011-08-11 14:22 caicainiao 阅读(199) 评论(0) 推荐(0) 编辑