DB2:数据库常用工具



DB2:数据库常用工具

解释工具:DB2提供了可视化解释、db2expln、dynexpln、db2exfmt;timeron是DB2优化器使用的一种成本度量单位,用于计算查询完全执行所需的时间和资源数量。

在一个数据库中执行任何SQL语句之前,必须首先准备SQL语句。SQL语句会被简化为经过优化器查询重写后的优化的SQL语句,DB2优化器随后可对此语句进行分析。

索引设计工具:DB2 Design Advisor

基准测试工具db2batch:db2batch -d sample -f db2batch.sql(db2batch.sql是输入文件),这个命令将返回查询的结[......]

Read more

c++输出字符串组合



c++输出字符串组合。

这是一个很常见的面试题,我来详细讲解算法。

首先假设有 ABCDEF这6个字符的字符串S,现在要找出3个字符的所有组合;

思路如下:

首先我们找到这个字符组合中一定包含A字符的组合,那么A字符肯定就定下来了,即包含S中第一个字符的组合,然后以剩下的字符串BCDEF作为新的字符串,找出所有的2个字符的组合,那就得到了A包含的所有组合了是吧。。

然后我们就可以省去A了,因为包含A的所有的组合都找到了,所以我们又开始以BCDEF这个字符串找出所有的3个字符的组合;

那么做法和上面一样,又以第一个为指定的字符,CDEF进行找出所有2个字符的组[......]

Read more

TCP/IP建立连接的过程

TCP/IP建立连接的过程

在TCP/IP协议时,TPC协议提供可靠的连接服务,采用三次握手建立一个连接。

第一次握手:建立连接时,客户端发送syn包到服务器,并进入SYN_SEND状态,等待服务器确认

第二次握手:服务器收到syn包,必须确认客户的SYN,同时自己也发送一个SYN包,即SYN+ACK包,此时服务器进入SYN_RECV状态;

第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK,此包发送完毕后,客户端和服务器进入ESTABLISHED状态,完成三次握手

Read more

JAVA中的File和IO

JAVA中的File和IO

1、File f=new File(path);

f.createNewFile();//必须调用这个方法才能真正的建立文件

2、java的IO流

输入流和输出流:输入流,只能从中读取数据,而不能向其写出数据;输出流,只能向其写出数据,而不能从中读取数据。输入、输出是从程序运行所在内存的角度来划分的。

字节流的最小数据单元是8位的字节;字符流的最小数据单元是16位的字符。

在读取或者写入文件时,由于打开文件使用的是IO资源是内存的IO资源,所以在使用完了之后要调用close方法,java的垃圾回收是无法回收这些资源的,相似的还有JDB[......]

Read more

inline与宏定义的区别

inline 和 宏定义的区别

inline函数是C++引入的机制,目的是解决使用宏定义的一些缺点。

1.为什么要引入内联函数(内联函数的作用)

用它替代宏定义,消除宏定义的缺点。宏定义使用预处理器实现,做一些简单的字符替换因此不能进行参数有效性的检测。另外它的返回值不能被强制转换为可转换的合适类型,且C++中引入了类及类的访问控制,在涉及到类的保护成员和私有成员就不能用宏定义来操作。

2.inline相比宏定义有哪些优越处

(1)inline函数代码是被放到符号表中,使用时像宏一样展开,没有调用的开销效率很高;

(2)inline函数是真正的函数,所以要[......]

Read more

c程序的编译执行过程

c程序的编译执行过程

编译,编译过程读取源程序(字符流),对之进行词法和语法的分析,将高级语言指令转换为功能等效的汇编代码,再由汇编程序转换成机器语言,并且按照操作系统对可执行文件格式的要求链接生成可执行程序。

C源程序头文件–》预编译处理(cpp)–》编译程序本身–》优化程序–》汇编程序–》链接程序–》可执行程序

1.编译预处理

读取c源程序,对其中的伪指令(以#开头的指令)和特殊符号进行处理

伪指令主要包括以下四个方面

(1)宏定义指令,如#define Name TokenString,#undef等。对于前一个伪指令,预编译所要做的是将程序中[......]

Read more

linux管道

linux管道利用输入/输出重定向
在Linux命令行模式中,如果命令所需的输入不是来自键盘,而是来自指定的文件,这就是输入重定向。同理,命令的输出也可以不显示在屏幕上,而是写入到指定文件中,这就是输出重定向。

接下来看看标准输入/输出重定向在构造一条Linux命令中的实际应用。

1.输入重定向和输出重定向
# wc aa.txt
# ls >
home.txt

第一条命令将文件aa.txt作为wc命令的输入,统计出aa.txt的行数、单词数和字符数。第二条命令将ls命令的输出保存在一个名为home.txt的文件中。如果>符号后边的文件已存在,那么这个[......]

Read more

linux软连接和硬链接

linux软连接和硬链接.

硬链接和软连接的区别:

要说明这个问题,先说明下liunx下文件和目录的本质。 事实上,在liunx上,目录也是文件的一种,它是储存了一张表的文件。例如有一个叫程序的文件夹,里面有两个文件1和2.在那张目录表内。它的内容是这样的 名称 节点 1 338 2 228 那么什么是节点呢?c语言我们都学过,我们简单地把节点号理解成一个数组的下标,把内存看成一个大数组,每个文件都可以看成一个数组中的一个元素,而知道了节点号,就可以找到了实质的文件内容。

有了以上的认识,就可以进一步地解释硬链接: 硬链接的书写格式是:ln 目标文件名 链接名 那么它的过程是怎么[......]

Read more

SQL语句中WHERE和HAVING子句的区别

SQL语句中WHERE和HAVING子句的区别

主要区别在于作业对象不同,where子句作用于基本表或者视图,从中选择出满足条件的远足。having短语作用于组,从中选择满足条件的组。一般用再group by子句后面。

例如:

select sno

from sc

group by sno

having count(*) > 3

选择出选修了3门课以上的学生号

这里先用group by子句按sno进行分组,再用聚集函数count对每一个组技术,having短语给出了选择组的条件,只有满足条件(即元祖个数>3)的组才会被选出来。

本文链接地址[......]

Read more