数据库相关 - 军军小站|张军博客
数据库相关

系统性能调优(3)----数据库索引优化

索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。其实道理很简单,比如我们要从字典中查找一个字,那么这个字典就是我们所要面对的数据库,索引就好比是字典前面的拼音或者部首索引表,当需要查询一个字的时候我们首先去检索拼音或者部首索引表,然后再去字典中查找具体的位置,这样我们就加快数据库的查询速度。索引分为聚簇索引和非聚簇索引两种,聚簇索引是按照数据存放的物理位置为顺序的,而非聚簇索引就不一样了(下一篇文章将介绍常见的索

系统 2019-08-12 01:51:33 1872

数据库相关

浅谈SQL之主键、外键约束

约束:顾名思义就是一种限制,在表或列的层次设置约束,确保数据的有效性和完整性。SQLserver中约束的主要分类:UNIQUE约束(唯一性约束)防止一个特定的列中两个记录具有相同的值。可设置多个CHECK约束(核查约束)通过检查一个或多个字段的输入值是否符合设定的检查条件来强制数据的完整性。NotNull约束确保列必须具有一个值,否则记录不能插入PRIMARYKEY约束(主键约束)只能有一个主键约束,是UNIQUE约束和NOTNULL约束的组合FOREIG

系统 2019-08-12 01:55:30 1871

数据库相关

数据库字段数据库设计规范化的五个要求

废话就不多说了,开始。。。通常情况下,可以从两个方面来判断数据库是否计划的比拟标准。一是看看是否拥有大量的窄表,二是宽表的数量是否足够的少。若符合这两个条件,则可以说明这个数据库的标准化水平还是比拟高的。当然这是两个泛泛而谈的指标。为了达到数据库计划标准化的要求,一般来说,需要符合以下五个要求。要求一:表中应该防止可为空的列。虽然表中允许空列,但是,空字段是一种比拟特殊的数据类型。数据库在处理的时候,需要停止特殊的处理。如此的话,就会增长数据库处理记录的复

系统 2019-08-12 01:52:52 1871

数据库相关

拼接sql

StringwhereArgs=taskTable+"where1=1";if(upCheck){whereArgs+="andtype=2";}if(gameID!=null&&!gameID.equals("0")){whereArgs+="andgameID="+gameID;}if(searchProjectkey!=null&&!searchProjectkey.trim().equals("")){whereArgs+="andprojectI

系统 2019-08-12 01:55:37 1870

数据库相关

sql 中有关时间的语句

1、比较得到两个时间相差的间隔SELECTdatediff(minute,’2009-04-2812:05:00′,getdate());SELECTdatediff(month,’2009-04-2812:05:00′,’2009-04-2812:05:00′);返回结果是:0语法DATEDIFF(date-part,date-expression-1,date-expression-2)date-part:year|quarter|month|week

系统 2019-08-12 01:54:18 1870

数据库相关

项目存储过程编写

好久没有维护项目开发了,写存储过程开始有点手生了,真后悔没有早点总结一下以往项目经验啊。所以这里就开个篇记录点心得:1.首先要写好每个存储过程的版本说明,应该包括:版本号、修改日期、修改人、项目名称、应用范围(工作类型或者功能块)、修改描述如:--Ver.1.02008-10-16EnliXXXproject(装配工作站):新建功能2.名称命名很重要,既然要表达出功能的意义,又要尽量统一描述方式项目存储过程编写

系统 2019-08-12 01:51:28 1870

数据库相关

以?替代参数配合扩展方法简化数据库操作的实践

前面的2篇关于简单介绍了仿效Java在SQL以?代替参数位置的实现方案,在编程开发中,我们都会将一些奇怪的简单的、复杂的想法,用我们本身的编程理念去实现,从粗糙到优美的每一步,都能让我们感到骄傲,虽然在别人眼中可能是一个愚蠢的、甚至是脑残的想法,但是作为一个程序员,我始终认为:“编程不仅既是一门技术,更是一门艺术;就算是最枯燥乏味的编码,我们也要以一种激情澎湃的编码行为去完成它。”,每一次尝试、实践都能让我们获益良多,尽管不是每一次尝试都是那么正确,但是起

系统 2019-08-12 01:53:20 1869

数据库相关

toj2867 Picking Problem

题目链接:http://acm.tju.edu.cn/toj/showp.php?pid=2867题目大意:给定一系列活动的开始时间和结束时间,问最多能参加的活动数目思路://本题属于最大区间调度问题,即数轴上有n个区间,选出最多的区间,使这些区间互相不重叠。算法:按右端点坐标排序,然后依次按后者的开始时间是否大于前者的结束时间(注意更新前者的下标)选择所有能选的区间。代码://本题属于最大区间调度问题,即数轴上有n个区间,选出最多的区间,使这些区间互相不

系统 2019-08-12 01:51:56 1869

数据库相关

普通视图和物化视图的区别

物化视图是一种特殊的物理表,“物化”(Materialized)视图是相对普通视图而言的。普通视图是虚拟表,应用的局限性大,任何对视图的查询,Oracle都实际上转换为视图SQL语句的查询。这样对整体查询性能的提高,并没有实质上的好处。1、物化视图的类型:ONDEMAND、ONCOMMIT二者的区别在于刷新方法的不同,ONDEMAND顾名思义,仅在该物化视图“需要”被刷新了,才进行刷新(REFRESH),即更新物化视图,以保证和基表数据的一致性;而ONCO

系统 2019-08-12 01:52:45 1866

数据库相关

sql点滴41—MyISAM 和 InnoDB 讲解

原文:sql点滴41—MyISAM和InnoDB讲解InnoDB和MyISAM是许多人在使用MySQL时最常用的两个表类型,这两个表类型各有优劣,视具体应用而定。基本的差别为:MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持,而InnoDB提供事务支持已经外部键等高级数据库功能。以下是一些细节和具体实现的差别:1.InnoDB不支持FULLTEXT类型的

系统 2019-08-12 01:32:34 1866