数据库建立索引的原则确定针对该表的操作是大量的查询操作还是大量的增删改操作。尝试建立索引来帮助特定的查询。检查自己的sql语句,为那些频繁在where子句中出现的字段建立索引。尝试建立复合索引来进一步提高系统性能。修改复合索引将消耗更长时间,同时,复合索引也占磁盘空间。对于小型的表,建立索引可能会影响性能应该避免对具有较少值的字段进行索引。避免选择大型数据类型的列作为索引。索引建立的原则索引查询是数据库中重要的记录查询方法,要不要进入索...
7年前 (2018-02-20)
阅读(3376)
赞一个 (4 )
链接直达
插入语句时判断是否存在的SQL语句:insert into appointmen_record(
app_type_id,
app_time_id,
create_user,
appointmen_date
)
select
...
8年前 (2017-04-12)
阅读(5016)
赞一个 (4 )
链接直达
Oracle中rank() over, dense_rank(), row_number() 的区别假设现在有一张学生表student,学生表中有姓名、分数、课程编号,现在我需要按照课程对学生的成绩进行排序。select * from student1. rank over ()可以实现对学生排名,特点是成绩相同的两名是并列,如下1 2 2 4 5select name,
 ...
8年前 (2017-04-12)
阅读(2777)
赞一个 (2 )
链接直达
字面意思,获取首/尾值1、初始化数据create table test (id number(2), name varchar2(10), salary number(6,2));
insert into test values (1,'Tom',120);
insert into&nbs...
8年前 (2017-04-12)
阅读(3535)
赞一个 (2 )
链接直达
工作中经常遇到很多需求是这样的,根据条件汇总某些字段,比如我遇到的是,我们公司有三个投资平台,同一个客户拿手机号在三个平台都注册了,但注册过的用户名不一样,显示的时候需要根据手机号显示所有注册过的名称。1、原始数据是这样的,如图:2、要求显示成这样,如图:(其实就是列传行而已)3、listagg具体实现是这样的,看完例子都能懂:select phone, listagg(log_name, ',...
8年前 (2017-04-12)
阅读(3459)
赞一个 (1 )
链接直达
Lag()和Lead()分析函数可以在同一次查询中取出同一字段的前N行的数据(Lag)和后N行的数据(Lead)作为独立的列。这种操作可以代替表的自联接,并且LAG和LEAD有更高的效率。语法: lead(value_expr [,offset][,default]) over([query_partition_clause] order by Order_by_clause)参数说明:va...
8年前 (2017-04-12)
阅读(3350)
赞一个 (0 )
链接直达
全屏书中详细目录:Oracle查询优化改写技巧与案例 —— 目录第2章 给查询结果排序2.1 以指定的次序返回查询结果实际提取数据或生成报表时,一般都要根据一定的顺序査看,比如,想查看单位所雇员工的信息。select empno, ename, hiredate from emp where deptno = 10 order ...
8年前 (2017-03-02)
阅读(3848)
赞一个 (3 )
链接直达
全屏书中详细目录:Oracle查询优化改写技巧与案例 —— 目录
第1章 单表查询
1.1 查询表中所有的行与列
在进行查询操作之前,一般先看一下表的结构,例如 desc emp;
查询所有的信息,直接使用 select * from 表名 即可
SQL> select * from emp;
EMPNO ENA...
8年前 (2017-03-02)
阅读(4699)
赞一个 (0 )
链接直达
自2010年学习编程以来,数据库也在不间断中项目使用,从SQL Service、Oracle、MySql的入门查询知识,到高级查询的放弃,写过无数的语句,也忘记过无数常用函数语法。时隔多天,在工作中总是处于前端、后台、服务器方面徘徊,几个月下来可能常用的那些命令函数又给遗忘殆尽,所以,最近又买来一本书《Oracle查询优化改写技巧与案例》 其中有很多工作中常用到的语法。以此用来复习和项目中便捷查询的方式。...
8年前 (2017-03-02)
阅读(4130)
赞一个 (1 )
链接直达
进入到Tools—Preferences—Editor下进行相关设置,步骤如下图:...
8年前 (2017-03-02)
阅读(6809)
赞一个 (0 )
链接直达
Oracle 中 coalesce函数Oracle COALESCE函数语法为 COALESCE(表达式1, 表达式2, ..., 表达式n),n>=2,此表达式的功能为返回第一个不为空的表达式,如果都为空则返回空值。注意:所有表达式必须为同一类型或者能转换成同一类型。示例一:在emp表中给comm列为空的人员设为200示例二模拟返回第一个不为空的值 / 模拟数据类型不一致的情况SQL> select&n...
8年前 (2017-03-02)
阅读(4475)
赞一个 (1 )
链接直达
Oracle中replace函数的使用含义为:替换字符串replace(原字段,“原字段旧内容“,“原字段新内容“,)示例一:历城区修改北京区update sys_frmattachmentdb set filefullname = replace(filefullname,'历城区,'北京区)示例二:c字符修改为替换了SQL> select replace('abcdef&...
8年前 (2017-03-02)
阅读(3654)
赞一个 (0 )
链接直达