笔记
Oracle SQL使用心得
wangxian00 4 2014-03-08 15:50
1. 我用的Oracle 客户端最好的工具是PL/SQL Developer, 当然,如果用免费的Toad也不错,感觉现在用Toad的人还是挺多的。 2. Oracle SQL如果想提高速度有几个方式 1)创建索引,尽量建立唯一索引 2)当要创建的索引列的值取值比较小,建议创建Bitmap的索引而不是默认的Btree的。(比如性别,学历等) 3)在where条件后尽量采用数字类型的字段,比varchar的速度快 4)尽量不用用IN,Not In,union这样的条件查询,建议采用Exists语句 5) 尽量不要采用 is null 或者 is not null的查询条件 6)尽量不要采用函数作为where的条件 7)尽量不要用多表联合查询,如果一定要用,一定要注意索引 8)字典表最好让到cache,这样能快一些(在创建表的语句里可以设置) 9)创建表尽量根据表的大小创建storage子句,避免表的碎片化。 10) 如果可能,不要用!=或者<>这样的不等于语句,建议采用< or >代替 3. 在PL/SQL Developer里,可以敲入SQL,然后按F5做SQL语句的分析,看下Cost是多少。
作者
的头像

已学习课程数:3

已发表笔记数:5

Ta的笔记
01    Oracle 如何查询锁表的对象

select s.username, decode(l.type,'tm','table lock','tx','row lock',null) lock_level, o.owner, o.object_name, o.object_type, s.sid, s.serial#, s.terminal, s.machine, s.program, s.osuser from v$session s,v$lock l,dba_objects o where l.sid = s.s

02    linux下优化tomcat服务器性能

服务器优化说明 WEB服务器优化 1、 更换tomcat5为tomcat6 版本copy测试服务版本即可 2、 加大tomcat内存 修改bin下的catalina.sh文件,增加青绿色部分 JAVA_OPTS='-Xms768m -Xmx1648m -XX:MaxPermSize=512m' 3、 加大tomcat连接数 修改conf下的server.xml文件,修改青绿色部分参数值 maxThrea

03    使用JAVA 6 构建自己的HTTP服务器

import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.io.PrintWriter; import java.net.InetSocketAddress; import java.util.List; import java.util.Map; import c

04    JAVA网站静态化方法

1. 通过freemarker静态化 2. 通过jsp filter静态化 主要思路:请求servlet->判断静态文件是否存在并且静态文件创建时间是否在阀值之内-->如果不是,则访问数据库生成静态文件->否则直接跳转静态文件 然后通过urlReWrite直接将访问servlet的请求改为html,完成seo 最后通过SQUID缓存前台数据 一、从数据库中取相应数据并替换掉模板中的对应标签,下面是一个简单的示例

05    Oracle SQL使用心得

1. 我用的Oracle 客户端最好的工具是PL/SQL Developer, 当然,如果用免费的Toad也不错,感觉现在用Toad的人还是挺多的。 2. Oracle SQL如果想提高速度有几个方式 1)创建索引,尽量建立唯一索引 2)当要创建的索引列的值取值比较小,建议创建Bitmap的索引而不是默认的Btree的。(比如性别,学历等) 3)在where条件后尽量采用数字类型的字段,比varchar的速度快 4)尽量不用用IN,Not In,union这样的条件查

相关笔记
01    Oracle 如何查询锁表的对象

select s.username, decode(l.type,'tm','table lock','tx','row lock',null) lock_level, o.owner, o.object_name, o.object_type, s.sid, s.serial#, s.terminal, s.machine, s.program, s.osuser from v$session s,v$lock l,dba_objects o where l.sid = s.s

02    Oracle数据库字符集问题解析

Oracle数据库字符集问题解析 经常看到一些朋友问ORACLE字符集方面的问题,我想以迭代的方式来介绍一下。第一次迭代:掌握字符集方面的基本概念。 有些朋友可能会认为这是多此一举,但实际上正是由于对相关基本概念把握不清,才导致了诸多问题和疑问。 首先是字符集的概念。 我们知道,电子计算机最初是用来进行科学计算的(所以叫做“计算机”),但随着技术的发展,还需要计算机进行其它方面的应用处理。这就要求计算机不仅能处理数值,还能处理诸如文字、特殊符号等其它信息,而计算机本身能直接处理的只有数值信息,所以就要求

03    Oracle初始

数据库:对数据进行管理、操作、存储的仓库数据库的类型:层次型数据库网状型数据库关系型数据库 目前比较主流的数据库:Oracle   MySql SqlServer   DB2  SyBaseOralce版本:9i、10g、11g 关系型数据:实际上就是一张二维表 Idnameageaddress101张三20北京102李四  21河南 DB:Data BaseDBMS: DataBase Managemen

04    Oracle修改表结构

伪列:rowid:一条记录在内存中的地址,可以唯一的表示一条记录rownum:行号,它可以限制查上来的记录数 查询表的时候,可以空一格在表名后面写上别名例:select  t.* from  student   主键(Primary Key):用来唯一的标识一条记录,一个表中只能有一个主键。外键(Foreign Key):一般用来语另一个表的主键关联 修改表结构:增加列:alter table 表名 add (列名1 数据类型,列名2

05    Oracle函数

distinct:去除重复行例:select distinct math from studentorder by 排序,升序---asc   降序—desc例:select * from student order by math desc    select * fromstudent order by math, chinese upper()转换成大写字母例:select id, upper(name), birth, math from

06    Oracle表连接

内连接:两个表根据一定的条件进行关联查询Select 列名 from 表1 inner join 表2 on 条件例:select * from student s inner join class c ons.classid=c.id相当于select * from student s, class c where s.classid=c.id 交叉连接:笛卡尔积Select 列名 from 表1 cross join 表2 例:select * from student s cross jo

07    oracle中的多表查询

1,内连接(等值连接)select employees.employee_id,employees.department_id,departments.department_name from employees,departmentswhere  employees.department_id=departments.department_id也可写成select e.employee_id,e.department_id,d.department_name from em

08    SQL高级子查询应用

----查询与141号或174号员工的manager_id和department_id ----相同的其他员工的employee_id,manager_id,department_id----第一种查询方法 SELECT employee_id,manager_id,department_id   FROM employees  WHERE (manager_id,department_id) IN        (SELECT manager_

最新笔记
01    Mysql DBA

基本知识1.mysql的编译安装2.mysql 第3方存储引擎安装配置方法3.mysql主流存储引擎(MyISAM/innodb/MEMORY)的特点4.字符串编码知识5.MySQL用户账户管理6.数据备份/数据入导出7.mysql 支持的基本数据类型8.库/表/字段/索引 的创建/修改/删除9.基本sql语法:select/insert/update/delete,掌握最基本的语法即可,什么inner join,left join的了解就行mysql的应用场景大多都是高并发访问/业务逻辑简单,join/

02    mysql 备份

备份:mysqldump -uroot-p'root' jpstudy > /opt/mysql_jpstudy_bak.sql恢复:mysql -uroot-p'root' jpstudy < /opt/mysql_jpstudy_bak.sql参数说明:1、备份sql文件名以 -B ,即:mysqldump -uroot-p'root' -B jpstudy >/opt/mysql_jpstudy_bak_B.sql表示:备份的sql语句中有创建数据库和字符集的语句2、参数--com

03    mysql 索引失效

1.全值匹配2.最佳左前缀法则:如果索引了多列,要遵守最佳左前缀法则。指的是查询从索引的最左前列开始并且不跳过索引中的列。3.不在索引列上做任何操作(计算、函数、类型转换),会导致索引失效而转向全表扫描4.存储引擎不能使用索引中范围条件右边的列5.尽量使用覆盖索引(只访问索引的查询(索引列和查询列一致)),减少select*6.mysql在使用不等于(!=或者<>)的时候无法使用索引会导致全表扫描7.is null ,is not null也无法使用索引8.like以通配符开头(‘%abc’)

04    tomcat安全问题4

7 脚本权限回收去除其他用户对bin目录下可执行权限,防止其他用户起停tomcat# chmod -R 744bin/*8 访问日志格式规范开启Referer和User-Agetn是为了一旦出现安全问题能够更好的根据日志进行排查       <Hostname="23.83.xx.xx" appBase="webapps"     

05    tomcat安全问题2

3 禁用管理端对于tomcat的web管理端属于高危安全隐患,一旦被攻破,黑客通过上传web shell方式取得服务器的控制权,那是非常可怕的。我们需要删除tomcat安装目录下conf/tomcat- user.xml或者删除webapps下默认的目录和文件。 # mv webapps/*/tmp 4 降权启动tomcattomcat 启动用户权限必须为非root,避免一旦tomcat服务被入侵,获取root权限,普通用户只能使用大于1024端口,如果要想使用80端

06    tomcat安全问题

1、telnet管理端口保护使用telnet连接进来可以输入SHUTDOWN可以直接关闭tomcat,极不安全,必须关闭。可以修改默认的管理端口8005改为其他端口,修改SHUTDOWN指令为其他字符串。# viconf/server.xml <Server port="8365" shutdown="IN0IT">2 AJP连接端口保护Tomcat 服务器通过Connector连接器组件与客户程序建立连接,Connector组件负责接收客户的

07    发个测试

发个测试发个测试发个测试发个测试发个测试发个测试发个测试发个测试发个测试发个测试发个测试发个测试发个测试发个测试发个测试发个测试发个测试发个测试发个测试发个测试发个测试发个测试发个测试发个测试发个测试发个测试发个测试发个测试发个测试发个测试发个测试发个测试发个测试发个测试发个测试发个测试发个测试发个测试发个测试发个测试 发个测试发个测试发个测试发个测试发个测试发个测试发个测试发个测试发个测试发个测试发个测试发个测试发个测试发个测试发个测试发个测试发个测试发个测试发个测试发个测试 发个测试发个测试发个测

08    Elasticsearch 优化之路

1、index 创建的时候一定要计算好shard,因为主分片一经确认是不能修改的,每一个分片上面独立运行着一个lucene程序;因此设置主分片的时候尽量考虑未来发展需求,如果当前有1G数据,使用默认分片5个,每一个主分片数据相当于200M数据(hash(ID)%max_shards进行数据分片存储的),但是随着时间推移如果3个月后数据变成100G了,但是主分片还是5个,每一个上面就是20G的数据,会大大降低处理性能;(2.3.1版本增加了对index的动态迁移能力,也许可以快速的处理这一问题)。2、字段的

09    SQL-触发器

1.触发器的定义触发器是一种特殊的存储过程 在表或视图上执行insert、update、delete操作自动被调用的存储过程 用途: 1.检测数据的有效性(check) 2.*记录操作的日志 3.拦截数据 rollback 4.*统计某表中的数据 分类: 1.after —— 在数据操作完成之后触发 2.inserted of —— 在数据操作完成之前触发  after可以创建在普通表上和视图上  inserted of可以创建在表 触发器的创建 表示:在指定表上执行upd

10    Java面试题—2016最新Java面试考题知识详解(1)

    动力节点Java培训  下面给出的Java开发中ClassLoader中的描述,哪些描述是正确的(C) AClassLoader没有层次关系 B所有类中的ClassLoader都是AppClassLoader C通过classforname(StringclassName)能够动态加载一个类 D不同的ClassLoader加载同一个Class文件,所得的类是相同的   拓展知识ClassLoader知识

热门笔记
01    Storm单机+zookeeper集群安装

Storm单机+zookeeper集群安装 1、安装zookeeper集群 2、准备机器 10.10.3.44 flumemaster1 zk 10.10.3.129 flumemaster2 zk 10.10.3.132 flumecollector1 zk 10.10.3.115 flumeNg1 storm 3、配置hosts文件(4台服务器上面都需要配置) vi /etc/hosts

02    sqoop安装使用手册

sqoop使用 需求:将mysql中的表b05_age的数据导入hive中 1、安装 yum install sqoop(sqoop必须安装在有hive client的服务器上面,如果没有执行yum install hive) 复制mysql的驱动jar到/usr/lib/sqoop/lib下面 2、异常处理 正确命令:(将关系型数据的表结构复制到hive中) sudo -u hive sqoop create-hive-table --connect jdbc:my

03    CDH hadoop集群安装-1

准备机器: 192.168.1.241 192.168.1.242 192.168.1.243 1、查看ip地址是否为静态ip,如果不是进行配置 vim /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 TYPE=Ethernet ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=none IPADDR=192.168.1.241 NE

04    Oracle SQL使用心得

1. 我用的Oracle 客户端最好的工具是PL/SQL Developer, 当然,如果用免费的Toad也不错,感觉现在用Toad的人还是挺多的。 2. Oracle SQL如果想提高速度有几个方式 1)创建索引,尽量建立唯一索引 2)当要创建的索引列的值取值比较小,建议创建Bitmap的索引而不是默认的Btree的。(比如性别,学历等) 3)在where条件后尽量采用数字类型的字段,比varchar的速度快 4)尽量不用用IN,Not In,union这样的条件查

05    JAVA网站静态化方法

1. 通过freemarker静态化 2. 通过jsp filter静态化 主要思路:请求servlet->判断静态文件是否存在并且静态文件创建时间是否在阀值之内-->如果不是,则访问数据库生成静态文件->否则直接跳转静态文件 然后通过urlReWrite直接将访问servlet的请求改为html,完成seo 最后通过SQUID缓存前台数据 一、从数据库中取相应数据并替换掉模板中的对应标签,下面是一个简单的示例

06    使用JAVA 6 构建自己的HTTP服务器

import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.io.PrintWriter; import java.net.InetSocketAddress; import java.util.List; import java.util.Map; import c

07    linux下优化tomcat服务器性能

服务器优化说明 WEB服务器优化 1、 更换tomcat5为tomcat6 版本copy测试服务版本即可 2、 加大tomcat内存 修改bin下的catalina.sh文件,增加青绿色部分 JAVA_OPTS='-Xms768m -Xmx1648m -XX:MaxPermSize=512m' 3、 加大tomcat连接数 修改conf下的server.xml文件,修改青绿色部分参数值 maxThrea

08    Oracle 如何查询锁表的对象

select s.username, decode(l.type,'tm','table lock','tx','row lock',null) lock_level, o.owner, o.object_name, o.object_type, s.sid, s.serial#, s.terminal, s.machine, s.program, s.osuser from v$session s,v$lock l,dba_objects o where l.sid = s.s

09    【Twitter Storm系列】flume-ng+Kafka+Storm+HDFS 实时系统搭建

一直以来都想接触Storm实时计算这块的东西,最近在群里看到上海一哥们罗宝写的Flume+Kafka+Storm的实时日志流系统的搭建文档,自己也跟着整了一遍,之前罗宝的文章中有一些要注意点没提到的,以后一些写错的点,在这边我会做修正;内容应该说绝大部分引用罗宝的文章的,这里要谢谢罗宝兄弟,还有写这篇文章@晨色星空J2EE也给了我很大帮助,这里也谢谢@晨色星空J2EE之前在弄这个的时候,跟群里的一些人讨论过,有的人说,直接用storm不就可以做实时处理了,用不着那么麻烦;其实不然,做软件开发的都知道模块化

10    实时流处理框架——Storm(介绍篇)

1. Storm介绍2. Storm环境配置3. Storm程序流程4. Storm总结及问题1. Storm介绍 1.1 实时流计算背景 随着互联网的更进一步发展,信息浏览、搜索、关系交互传递型,以及电子商务、互联网旅游生活产品等将生活中的流通环节在线化。对于实时性的要求进一步提升,而信息的交互和沟通正在从点对点往信息链甚至信息网的方向发展,这样必然带来数据在各个维度的交叉关联,数据爆炸已不可避免。因此流式处理和NoSQL产品应运而生,分别解决实时框架和数据大 规模存储计算的问题。 流式处理可

友情链接