- 浏览: 129800 次
- 性别:
- 来自: 杭州
最新评论
文章列表
常常有人把这三个hint搞混,主要是因为对三种重写原理不清楚。特总结如下。(实验环境为10204)
1. no_unnest, unnest
unnest我们称为对子查询展开,顾名思义,就是别让子查询孤单地嵌套(nest)在里面。
所以un_unnest双重否定代表肯 ...
JAR 文件格式以流行的 ZIP 文件格式为基础,用于将许多个文件聚集为一个文件。与 ZIP 文件不同的是,JAR 文件不仅用于压缩和发布,
而且还用于部署和封装库、组件和插件程序,并可被像编译器和 JVM 这样的工具直接使用。在 JAR 中包含特殊的文件,如 manifests 和部署描述符,用来指示工具如何处理特定的 JAR。
一个 JAR 文件可以用于:
用于发布和使用类库
作为应用程序和扩展的构建单元
作为组件、applet 或者插件程序的部署单位
用于打包与组件相关联的辅助资源
JAR 文件格式提供了许多优势和功能,其中很多是传统的压缩格式如 ZIP ...
Hadoop 基础知识
- 博客分类:
- Hadoop
什么是Hadoop?
面向大数据处理
擅长离线数据分析
分布式文件系统+计算框架(HDFS+MapReduce)
Hadoop不是数据库,Hbase才是数据库
Hadoop是一个快速进化的生态系统
Hadoop会使用在哪些行业? 电子商务,移动运营商
什么是大数据?
大数据是个相对概念,基于目前的软硬件水平,满足不了预期性能的的数据量,就被称为大数据。
Hadoop子项目家族
Hbase Pig Hive Chukwa
MapReduce HDFS Zoo Keeper
Core Avro
Core:Hadoop的核心代码
MapRe ...
Struts2 基础知识
- 博客分类:
- JAVA 学习
JAVA web开发历史
早期的Java Web应用中,Jsp文件同时负责生产网页,控制到下一个网页的流程,以及负责业务逻辑,
这给web开发带来一系列问题:
HTML和Java耦合在一起,JSP文件的编写者必须是网页设计者,又是Java开发者。
缺点:
可读性差
调试困难
不利于维护,更改业务逻辑或者数据可能设计多个相关网页
现在通常分为四层:
表述层(JSP,HTML页面)
业务逻辑层(JavaBean)
持久化层(spring实现持久化)
数据库层
分层的优点:
可伸缩性
可维护性
可扩展性
可重用性
可管理性
分层的也体现了分而治之 ...
JAVABEAN 对应实体(Loggermanager.java)
Action类 处理数据的跳转(LoggerManagerAction) 每次返回一个String字符串
struts-loggerMan.xml:用于针对Action返回的字符串进行解析,会返回一个JSP页面。然后需要在struts.xml包含进来(<include file="/strutsc ...
当在MyEclipse中,New Web Project时,包含以下选项:
Project Name: 项目名称
Location :项目位置
Source floder: 源代码目录
Web root folder: 网站的根文件夹
Context root url: web项目的访问根路径(注意,在Tomcat服务器中,项目的名称是以此来命名的。而非开发时的项目名称。)
J2EE Sepcification Level : J2EE的规范级别
*.html,*.jsp等文件应该放置在网站的根目录下,对于较大的网站,应该通过文件夹分门别类。
/WEB-INF/web. ...
JAVA编程之JDBC
- 博客分类:
- JAVA 学习
JAVA数据类型
基本数据类型:bytes double int long float double boolean char
bytes 占用8为内存,占用一个字节。
bytes : -128 - 127
short : 2的15次方至负的2的15次方(本应该是16次方,由于符号占用一位)
int : 32位
long : 64
float : 32(小数)
double ...
JAVA 的开发步骤
1.JDK的安装
2.编写源程序
3.编译(JAVAC)
4.运行(JAVA)
设置系统变量Path后,Java以及Javac即可以直接在命令行中执行,操作系统会自动在Path对应的目录下
寻找java.exe可执行文件.
设置JAVA_HOME后,可以在Path中引用%JAVA_HOME%\bin
classpath是告诉java在哪里找到相应的class文件。
javac
-classpath <路径> 指定查找用户类文件和注释处理程序的位置
-cp <路径> 指定查找用户类文件和注 ...
数据库的设计范式是数据库设计所需要满足的规范,满足这些规范的数据库是简洁的、结构明晰的,同时,不会发生插入(insert)、删除(delete)和更新(update)操作异常。反之则是乱七八糟,不仅给数据库的编程人员制造麻烦,而且面目可憎,可能存储了大量不需要的冗余信息。
1.若将所有的信息放在一个表中,存在的问题:现在建立一个描述学校教务的数据库,该数据库涉及的对象包括学生的学号(Sno),所在系(Sdept),系主任姓名(Mname),课程号(Cno)和成绩(Grade)。假设用一个单一的关系模式Student来表示,则该关系模式的属性集合为:U={Sno,Sdept,Mname,Cn ...
Oracle sqlldr使用
- 博客分类:
- Oracle 开发
Oracle SQLLDR用法
SQL*LOADER是ORACLE的数据加载工具,通常用来将操作系统文件迁移到ORACLE数据库中。SQL*LOADER是大型数据
仓库选择使用的加载方法,因为它提供了最快速的途径(DIRECT,PARALLEL)。
SQLLDR的有效关键字
有效的关键字:
userid -- ORACLE 用户名/口令
control -- 控制文件名
log -- 日志文件名
bad -- 错误文件名(文件中包含由于错误拒绝的数据记录,比如错误的数据类型或者完整性约束)
data ...
Oracle 数据泵的使用
- 博客分类:
- Oracle 开发
--数据泵导出
在本例中,我们将用 Data Pump 来导出一个大表 T , Data Pump 在服务器端使用文件处理来创建和读取文件;
因此,目录作为位置使用。在这种情况下,我们将使用文件系统 F:\DUMPFILE 来保存转储文件。
sys@ORCL> create directory dump_dir as 'F:\DUMPFILE';
目录已创建。
sys@ORCL> grant read, write on directory dump_dir to admin;
授权成功。
--这里需要在数据库服务器上手工创建F:\DUM ...
Oracle 统计信息
- 博客分类:
- Oracle 优化
--Oracle 优化器统计信息
Oracle优化器统计信息描述了关于数据库和相关对象的统计信息,当执行SQL查询时,优化器会使用这些统计信息估算出各种不同的执行计划的资源消耗,
,从而选择最高效的执行计划。当统计信息缺失或者陈旧时,Oracle可能会选择错误的执行计划,导致SQL执行效率低下。
优化器统计信息包括以下部分:
表级别统计信息
1. 数据行数
2. 数据块数。
3. 每行的长度
--相关性能视图
admin@ORCL> SELECT NUM_ROWS, BLOCKS, AVG_ROW_LEN FROM USER_TABLES WHERE ...
Oracle latch
- 博客分类:
- Oracle 优化
Oracle latch vs lock
latch lock
队列行 无队列性 队列性
时长 很短 可能很长
层面 数据库资源层 业务应用层
目的 保证资源的完整性 保证业务操作的完整性
latch在sga中,并不会存在pga中,因为sga中才会存在并发。
latch主要存在两块:
共享池
- sql解析,sql重用
数据缓冲区
-数据访问,数据写入,数据读入
-修改数据块
-数据段扩展
latch获取方式
wait方式--如果无法获取请求的latch,则
1.spin
当一个会话无法获得需求的latch时,会继续使 ...
Oracle lock之分析
- 博客分类:
- Oracle 优化
Oracle 锁
Oracle的锁是针对多个会话进行作用的,没有并发就没有锁。
锁的实质:是维护一个事务完整性的,锁的信息是数据块的一个属性,是物理的,并不是逻辑上属于某个表或者某几行的。
Oracle锁的分类
Enqueues --队列类型的锁,通常和业务相关
Latches --系统资源方面的锁,比如内存结构,sql解析。
分别模拟insert,update和delete造成阻塞的示例
--INSERT 阻塞
CREATE TABLE T (ID INT PRIMARY KEY,NAME VARCHAR2(10));
ADMIN@ORC ...
CREATE TABLE T1 (ID INT ,ID1 INT);
INSERT INTO T1 VALUES(1,NULL);
INSERT INTO T1 VALUES(NULL,NULL);
INSERT INTO T1 VALUES(2,2);
COMMIT;
--实际上有三条记录,包括两个字段都为空的记录
admin@ORCL> SELECT * FROM T1;
ID ID1
---------- ----------
1 NULL
2 2
...