自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 SQL语句的优化(合理使用索引)

SQL语句的优化(合理使用索引)1.1、什么时候使用索引?(1)、以查询的关键字为基础,表中行随机排序;(2)、包含的列数 相对较少的表;(3)、表中大多数的查询包含相对简单的where从句;(4)、缓存命中率低,而且也不用操作系统权限;1.2、选择什么样的索引列和表达式?(1)、where从句频繁使用的关键字;(2)、重复性少的关键字;(3)、避免使用频繁修改的列作为索引列;(4)、避免使用包含操作符或函数的where从句中的关键字作为索引列;1.3、多列索引也叫做复合索引,什么情况

2020-08-31 23:00:51 251

原创 SQL语句的优化(常规SQL语句的优化)

SQL语句的优化(常规SQL语句的优化)一、常规SQL语句的优化1.1、不用 “ * ” 代替所有的列名。因为这样操作的时候 ,系统会通过数字字典将“ * ”转换成表的所有列名,会消耗大量的系统时间,查询速度比较的慢;1.2、用truncate代替delete。使用delete删除数据,oracle会使用撤销表空间来存放恢复的信息,使用commit提交才会删除表数据,如果不使用commit进行提交,数据可以恢复到删除之前的状态;使用truncate会对表的数据直接删除,速度比较的快,不过也不能任何时候

2020-08-31 22:33:08 330

原创 将一个用户的两条记录进行合并、Listagg(字段名,‘分割符‘) whthin GROUP(ORDER BY 字段名)

将一个用户的两条记录进行合并、Listagg(字段名,‘分割符’) whthin GROUP(ORDER BY 字段名)Listagg(字段名,‘分割符’) whthin GROUP(ORDER BY 字段名)SELECT NAME, listagg(source,',')whthin GROUP(ORDER BY source) AS source FROM testWHERE NAME = lisiGROUP BY NAME; 注解:当字段较多的时候,不要把函数使用的字段写入

2020-08-15 21:44:00 290

原创 将手机号码中间四位换成****的方法

将手机号码中间四位换成****的方法方式一、使用substr从第四位开始往后截取四位,然后使用replace将截取的四位替换为****SELECT REPLACE(serv_number, SUBSTR(serv_number,4,4)'****') AS serv_number FROM test;方式二、首先使用substr截取到总长的-8,然后拼接****,最后拼接上最后四位,最后四位使用substr进行截取SELECT SUBSTR(serv_number,1,(serv_numbe

2020-08-15 21:28:44 2058

原创 join on 后边加条件和 where后边加条件的区别

join on 后边加条件和 where后边加条件的区别SELECT a.*,b.* FROM test1 aLEFT JOIN test2 bON a.user_id = b.user_id a.statis_month = 202008 b.statis_month = 202008WHERE a.statis_month = 202008;此语句做参考,并没有实质建表和添加字段。首先,在on后边加a表的统计月份,并没有实际的用处,无论加与不加,都会展示A表的所有记录;其次,

2020-08-15 20:25:10 242

原创 分区 添加分区、删除分区数据

分区 添加分区、删除分区数据添加月分区ALTER TABLE 表名 ADD PARTITION 分区名 VALUES(分区值);ALTER TABLE test ADD PARTITION PART_202008 VALUES(202008);删除分区数据ALTER TABLE 表名 TRUNCATE PARTITION 分区名;ALTER TABLE test TRUNCATE PARTITION PART_202008; ...

2020-08-15 20:06:07 280

原创 for update 和 rowid 的区别

for update 和 rowid 的区别SELECT a.*,rowid FROM test a;SELECT * FROM test a FOR UPDATE;for update 语句运行时,会在对应行(where 条件)加上行级锁,如果没有where条件,会对全表进行加锁 ,当其他人忘记提交或者回滚事务的时候,就会发生锁表,只适合单人进行操作,不适合多人同时操作;rowid 运行的时候,并没有给数据加上行级锁,可以对数据进行编辑,提交的瞬间完成上锁,提交,解锁等动作。所以,当多人对表进行

2020-08-15 19:57:58 912

原创 表字段操作(添加、删除、修改长度)

表字段操作(添加、删除、修改长度)(1)添加字段ALTER TABLE 表名 ADD(字段名 字段类型);ALTER TABLE test ADD(NAME varchar2(20));(2)删除字段ALTER TABLE 表名 DROP COLUMN 列名;ALTER TABLE test DROP COLUMN NAME;(3)删除多列ALTER TABLE 表名 DROP (列名1,列名2,列名3......);ALTER TABLE test DROP (age,userid

2020-08-13 22:50:29 654

原创 Length和lengthb的区别

Length和lengthb的区别length计算字符长度;lengthb计算字节长度;一般一个英文的字符和字节长度都是1,一个汉字的字符长度是1,字节长度是2或3.当使用的字符集是ZHS16GBK,一个汉字占两个字节;当使用的字符集是AL32UTF8,一个汉字占三个字节。select length("ab"),length("你好世界") from dual;select lengthb("ab"),lengthb("你好世界") from dual;...

2020-08-13 22:02:14 4451

原创 Oracle数据库中escape、in、between...and...用法举例

Oracle数据库中escape、in、between…and…用法举例1、escape是用来转译的,当表A 的name字段 中存在字符’%’,而且查询第二位是 ‘%’,就要用到模糊查询,但是’%'是模糊查询的通配符,但是我们不能做如下的查询select * from A where name like '_%%';因为系统不会把第二个%当做字符,所以只能转译,转译默认的符号是 \,示例S...

2020-04-09 10:40:51 1181

原创 ORACLE数据库中空值处理函数用法举例

ORACLE数据库中空值处理函数用法举例nvl(exp1,exp2): 如果exp1为空,则返回exp2;否则返回exp1nvl2(exp1,exp2,exp3): 如果exp1为空,则返回exp3;否则返回exp2nullif(exp1,exp2): 如果ex...

2020-04-09 09:42:15 742

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除