随笔分类 - 数据库
摘要:Oracle的同义词(synonyms)从字面上理解就是别名的意思,和视图的功能类似,就是一种映射关系. 在Oracle中对用户的管理是使用权限的方式来管理的,也就是说,如果我们想使用数据库,我们就必须得有权限,但是如果是别人将权限授予了我们,我们也是能对数据库进行操作的,但是我们必须要已授权的表的...
阅读全文
摘要:查询及删除重复记录的SQL语句1、查找表中多余的重复记录,重复记录是根据单个字段(Id)来判断Sql代码select*from表whereIdin(selectIdfrom表groupbyIdhavingcount(Id)>1)2、删除表中多余的重复记录,重复记录是根据单个字段(Id)来判断,只留有...
阅读全文
摘要:多行转字符串这个比较简单,用||或concat函数可以实现?123select concat(id,username) str from app_userselect id||username str from app_user字符串转多列实际上就是拆分字符串的问题,可以使用 substr、inst...
阅读全文
摘要:oracle count 百万级 分页查询记录总数、总条数优化oracle count 百万级 查询记录总数、总条数优化最近做一个项目时,做分页时,发现分页查询速度很慢,分页我做的是两次查询,一次是查询总数,一次是查询分页结果/** 查询总记录数 **/ SELECT COUNT...
阅读全文
摘要:一个非常好的ORACLE的分页SQL语句select * from (select my_table.*, rownum as my_rownum from ( select yhbh, yhmc from yysf_tb_yonghxx order by yhbh) my_table where ...
阅读全文
摘要:ORACLE中用rownum分页并排序的SQL语句以前分页习惯用这样的SQL语句:123select* from(selectt.*,rownum row_num frommytable t orderbyt.id) bwhereb.row_num between1 and10结果发现由于该语句会先...
阅读全文
摘要:drop table test;create table test(name varchar(20),kemu varchar(20),score number);insert into test values('testa','yuwen',10);insert into test values(...
阅读全文
摘要:本文讲述Oracle分析函数用法,首先建库:Sql代码createtableearnings--打工赚钱表(earnmonthvarchar2(6),--打工月份areavarchar2(20),--打工地区snovarchar2(10),--打工者编号snamevarchar2(20),--打工者...
阅读全文
摘要:createtablestudentInfo(idnumber(8)primarykey,namevarchar2(20)notnull,ObjectNamevarchar2(20)notnull,fenshuvarchar2(2)notnull);insertintostudentInfovalu...
阅读全文
摘要:首先介绍Oracle 9i新增加的一个系统自带的排序函数1、按首字母排序在oracle9i中新增了按照拼音、部首、笔画排序功能。设置NLS_SORT值SCHINESE_RADICAL_M 按照部首(第一顺序)、笔划(第二顺序)排序SCHINESE_STROKE_M 按照笔划(第一顺序)、部首(第二顺...
阅读全文
摘要:1、建测试表[c-sharp]view plaincopyprint?CREATETABLEEDW_INT(AGMT_NOVARCHAR2(40BYTE)NOTNULL,AGMT_SUB_NOVARCHAR2(4BYTE)NOTNULL,NEED_REPAY_INTNUMBER(22,2),CURR...
阅读全文
摘要:1.rollup:rollup 是group by 的扩展,它只能出现在group by后面。主要是为了解决多层分组的问题。语法:SELECT . . .FROM . . .GROUP BY ROLLUP (ordered list of grouping columns)例如要查询每个部门的工资总...
阅读全文
摘要:oracle数据库连接业务系统,而有些sql语句的执行严重影响了oracle的性能,就如同mysql的慢查询一样,mysql可以开启慢查询日志定位这些造成数据库性能下降的语句,而oracle同样可以做到,而且有过之而无不及。 下面举例说明 首先用root用户登陆核心应用系统,su - oracl...
阅读全文
摘要:Oracle有个高速缓冲的概念,这个高速缓冲就是存放执行过的SQL语句,那oracle在执行sql语句的时候要做很多工作,例如解析sql语句,估算索引利用率,绑定变量,读取数据块等等这些操作。假设高速缓冲里已经存储了执行过的sql语句,那就直接匹配执行了,少了步骤,自然就快了,但是经过测试会发现高速...
阅读全文
摘要:项目中虽然使用了orm映射,但Oracle系统的优化还是很有价值的,这里从sql语句的角度对常用的语句做下总结。1、from字段中的优化:Oracle安照从右到左的顺序加载表数据,应该把可以排除数据最多的表放到后面(基础表)。比如,在关联查询中,把课程表放到后面,成绩表放到前面,因为课程表数据一般比...
阅读全文
摘要:SQL语句在数据库中处理过程是怎样的呢?执行顺序呢?在回答这个问题前,我们先来回顾一下:在ORACLE数据库系统架构下,SQL语句由用户进程产生,然后传到相对应的服务端进程,之后由服务器进程执行该SQL语句,如果是SELECT语句,服务器进程还需要将执行结果回传给用户进程。SQL语句的执行过程一般如...
阅读全文
摘要:---正在执行的select a.username, a.sid,b.SQL_TEXT, b.SQL_FULLTEXTfrom v$session a, v$sqlarea bwhere a.sql_address = b.address---执行过的select b.SQL_TEXT,b.FIRS...
阅读全文
摘要:今天把这几天做的练习复习了一下,不知道自己写得代码执行的效率如何以及要如何提高,于是乎上网开始研究一些材料,现整理如下: 首先,要了解在Oracle中Sql语句运行的机制。以下是sql语句的执行步骤: 1)语法分析,分析语句的语法是否符合规范,衡量语句中各表达式的意义。2)语义分析,检查语句中涉及...
阅读全文
摘要:查询条件:1)LIKE:模糊查询,需要借助两个通配符,%:表示0到多个字符;_:标识单个字符。2)IN(list):用来取出符合列表范围中的数据。3)NOT IN(list): 取出不符合此列表中的数据记录。4)BETWEEN…AND…:用来查询符合某个值域范围条件的数据,最常见的是使用在数字类型的...
阅读全文
摘要:查询表table1里字段id小于10的所有数据,并且让数据根据id降序排列,然后得到第一条数据select * from (select * from table1 where id<10order byiddesc) whererownum=1注意:desc可以省略,默认的就是desc
阅读全文

浙公网安备 33010602011771号