数据库与sql设计
文章平均质量分 67
elimago
aa
展开
-
group by需要注意的地方
select 段所有非group函数列,如果不是常量列,则一定要出现在groupby段,否则就会报ora-00979错误,group by语句不存在。原创 2007-07-11 18:47:00 · 1146 阅读 · 0 评论 -
java数据库设计中的14个技巧
下述十四个技巧,是许多人在大量的数据库分析与设计实践中,逐步总结出来的。对于这些经验的运用,读者不能生帮硬套,死记硬背,而要消化理解,实事求是,灵活掌握。并逐步做到:在应用中发展,在发展中应用。 1. 原始单据与实体之间的关系 可以是一对一、一对多、多对多的关系。在一般情况下,它们是一对一的关系:即一张原始单据对应且只对应一个实体。在特殊情况转载 2009-09-02 11:30:00 · 469 阅读 · 0 评论 -
分析in和exists的区别与执行效率的问题
本文主要分析了in和exists的区别与执行效率的问题: in可以分为三类: 1、形如select * from t1 where f1 in ( 'a ', 'b '),应该和以下两种比较效率。 select * from t1 whe转载 2007-12-12 09:37:00 · 859 阅读 · 0 评论 -
SQL数据库使用JOIN的优化方法
很早以前,也是一提到SQL Server,就觉得它的性能没法跟Oracle相比,一提到大数据处理就想到Oracle。自己一路走来,在本地blog上记录了很多优化方面的 post,对的错的都有,没有时间系列的整理出来,这篇文章将join方法的概念稍微整理在一起,给大家个参考。通过查资料了解里面提到的各种概念,在实 际中不断验证总结,完全可以对数据库一步步深入理解下去的。 我只对SQL Server转载 2007-10-30 17:14:00 · 834 阅读 · 0 评论 -
数据库优化设计方案
本文首先讨论了基于第三范式的数据库表的基本设计,着重论述了建立主键和索引的策略和方案,然后从数据库表的扩展设计和库表对象的放置等角度概述了数据库管理系统的优化方案。 1 引言 数据库优化的目标无非是避免磁盘I/O瓶颈、减少CPU利用率和减少资源竞争。为了便于读者阅读和理解,笔者参阅了Sybase、Informix和Oracle等大型数据库系统参考资料,基于多年的工程实践经验,从基本表设计、转载 2007-10-30 16:22:00 · 683 阅读 · 0 评论 -
完全优化MySQL数据库性能的八大巧方法
1、选取最适用的字段属性 MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快。因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度设得尽可能小。例如,在定义邮政编码这个字段时,如果将其设置为CHAR(255),显然给数据库增加了不必要的空间,甚至使用VARCHAR这种类型也是多余的,因为CHAR(6)就可以很好的完成任务了。同样的,转载 2007-10-30 17:28:00 · 638 阅读 · 0 评论 -
DB2中的终极SQL性能调节技术
使用针对工作负载的正确的性能调节技术,以避免硬件升级和优化DB2性能 性能通过响应时间,吞吐量,峰值响应时间,命中和每秒会话来衡量。SQL编码和调节技术直接影响性能。开发高性能的DB2应用需要对DB2技术的深入了解。 当然在小数据量时这些技术无足轻重。忽略的连接,子查询,表的表达式和CASE表达式的程序完全可以在轻量级负载下工作的很好。使用100%的SELECT INFO语句来进行数据获取的程转载 2007-10-30 17:26:00 · 674 阅读 · 0 评论 -
数据库性能基准的5个问题
简介数据库已经是绝大多数IT应用的核心,各种数据库看上去很大不同,多层体系结构以及SOA的发展,使得应用逻辑的实现前移。数据库的性能,与其功能相比较,变得越来越重要了。因此,性能是衡量数据库的非常重要的方面,我们这里将讨论数据库性能基准的五个常见问题。1.Windows和Linux,哪个操作系统的性能基准结果更好?这是一个有争议的很难回答的问题。虽然大部分可能认为Linux可能更快一些转载 2007-10-30 17:22:00 · 559 阅读 · 0 评论 -
MySQL语句优化的原则
1、使用索引来更快地遍历表。 缺省情况下建立的索引是非群集索引,但有时它并不是最佳的。在非群集索引下,数据在物理上随机存放在数据页上。合理的索引设计要建立在对各种查询的分析和预测上。一般来说: a.有大量重复值、且经常有范围查询( > , =, b.经常同时存取多列,且每列都含有重复值可考虑建立组合索引; c.组合索引要尽量使关键查询形成索引覆盖,其前导列一定是使用最频繁的列。索引虽转载 2007-10-30 17:19:00 · 618 阅读 · 0 评论 -
存储过程编写经验和优化措施
在网友的博客中看到这编文章不错,就记了下来。供大家参考,在写存储过程时的经验之谈1、开发人员如果用到其他库的Table或View,务必在当前库中建立View来实现跨库操作,最好不要直接使用“databse.dbo.table_name”,因为sp_depends不能显示出该SP所使用的跨库table或view,不方便校验。2、开发人员在提交SP前,必须已经使用set showplan on分析过查转载 2007-10-30 17:11:00 · 502 阅读 · 0 评论 -
如何让你的SQL运行得更快
人们在使用SQL时往往会陷入一个误区,即太关注于所得的结果是否正确,而忽略了不同的实现方法之间可能存在的性能差异,这种性能差异在大型的或是复杂的数据库环境中(如联机事务处理OLTP或决策支持系统DSS)中表现得尤为明显。笔者在工作实践中发现,不良的SQL往往来自于不恰当的索引设计、不充份的连接条件和不可优化的where子句。在对它们进行适当的优化后,其运行速度有了明显地提高!下面我将从转载 2007-10-30 17:07:00 · 572 阅读 · 0 评论 -
SQL语句优化技术分析
SQL语句优化技术分析操作符优化 IN 操作符 用IN写出来的SQL的优点是比较容易写及清晰易懂,这比较适合现代软件开发的风格。 但是用IN的SQL性能总是比较低的,从ORACLE执行的步骤来分析用IN的SQL与不用IN的SQL有以下区别: ORACLE试图将其转换成多个表的连接,如果转换不成功则先执行IN里面的子查询,再查询外层的表记录,如果转换成功则直接采用多个表的连接方式查询。由转载 2007-10-30 17:18:00 · 633 阅读 · 0 评论 -
数据库设计中的14个技巧
1. 原始单据与实体之间的关系 可以是一对一、一对多、多对多的关系。在一般情况下,它们是一对一的关系:即一张原始单据对应且只对应一个实体。在特殊情况下,它们可能是一对多或多对一的关系,即一张原始单证对应多个实体,或多张原始单证对应一个实体。这里的实体可以理解为基本表。明确这种对应关系后,对我们设计录入界面大有好处。 〖例1〗:一份员工履历资料,在人力资源信息系统中,就对应三个基本表转载 2007-10-30 16:30:00 · 540 阅读 · 0 评论 -
大型数据库的设计原则与开发技巧
随着计算机技术越来越广泛地应用于国民经济的各个领域,在计算机硬件不断微型化的同时,应用系统向着复杂化、大型化的方向发展。数据库是整个系统的核心,它的设计直接关系系统执行的效率和系统的稳定性。因此在软件系统开发中,数据库设计应遵循必要的数据库范式理论,以减少冗余、保证数据的完整性与正确性。只有在合适的数据库产品上设计出合理的数据库模型,才能降低整个系统的编程和维护难度,提高系统的实际运行效率。虽然对转载 2007-10-30 16:14:00 · 594 阅读 · 0 评论 -
认识Oracle/SQL Server的免费数据库
像Oracle和SQL Server等大型数据库也存在免费版,能满足很多中小项目的需求。但由于很多做项目的同志不清楚,以至于动不动就选择MySQL、PostgreSQL或者Firebird等开源数据库。另外,选择大型数据库的免费版还有很多好处。比如,在项目设计、开发阶段,完全可以用免费版的数据库进行开发和测试,到部署阶段,再选择标准版或企业版的大型数据库进行部署。以此实现轻量级的敏捷开发。转载 2009-09-07 12:02:00 · 572 阅读 · 0 评论