首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

VimVi删除、多行、范围、所有及包含模式

使用linux服务器,免不了和vi编辑打交道,命令行下删除数量少还好,如果删除很多,光靠删除键一点点删除真的是头痛,还好Vi有快捷命令可以删除多行、范围。 删除 Vim删除一命令是dd。...删除所有 要删除所有,您可以使用代表所有%符号或1,$范围: 1、按Esc键进入正常模式。 2、键入%d,然后按Enter键以删除所有。...删除包含模式 基于特定模式删除多行语法如下: :g//d 全局命令(g)告诉删除命令(d)删除所有包含。 要匹配与模式不匹配,请在模式之前添加感叹号(!): :g!.../foo/d-删除所有不包含字符串“foo”。 :g/^#/d-从Bash脚本删除所有注释,模式^#表示每行以#开头。 :g/^$/d-删除所有空白,模式^$匹配所有空行。...:g/^\s*$/d-删除所有空白,与前面的命令不同,这还将删除具有零个或多个空格字符(\s*)空白

74.1K31
您找到你想要的搜索结果了吗?
是的
没有找到

Oracle如何提高DML语句效率?

题目部分 Oracle如何提高DML语句效率? 答案部分 若是批量处理海量数据的话通常都是很复杂及缓慢,方法也很多,但是通常概念是:分批删除,逐次提交。...避免更新过程涉及到索引维护。④ 批量更新,每更新一些记录后及时进行提交动作,避免大量占用回滚段和临时表空间。⑤ 可以创建一个临时表空间用来应对这些更新动作。⑥ 加大排序缓冲区。...(例如:外键约束),则选择标准UPDATE语句,速度最快,稳定性最好,并返回影响条数。...如果WHERE条件字段加上索引,那么更新效率就更高。但若需要关联表更新字段时,UPDATE效率就非常差。此时可以采用MERGE且非关联形式高效完成表对表UPDATE操作。...有关SQL优化一些案例可以参考我BLOG:http://blog.itpub.net/26736162/viewspace-1254942/、http://blog.itpub.net/26736162

16220

SQL语句MySQL如何执行

mysql> select * from T where ID=10; 开门见山,当我们输入一条 SQL 语句时候,MySQL 内部究竟执行了什么?...修改完成后,只有再重新建立连接才会使用到新权限设置。 建立连接过程通常是比较复杂,所以我建议你使用要尽量减少建立连接动作,也就是尽量使用长连接。...如果缓存 key 被命中,就会直接返回给客户端,如果没有命中,就会执行后续操作,完成后也会把结果缓存起来,方便下一次调用。当然真正执行缓存查询时候还是会校验用户权限,是否有该表查询条件。...优化器作用就是它认为最优执行方案去执行(虽然有时候也不是最优),比如多个索引时候该如何选择索引,多表查询时候如何选择关联顺序等。...select * from t1 join t2 using(ID) where t1.c=10 and t2.d=20; 比如这条语句,既可以先从表 t1 里面取出 c=10 记录 ID 值,再根据

4.3K20

【DB笔试面试659】OracleSELECT ... FOR UPDATE加是什么锁?

♣题目部分在OracleSELECT ... FOR UPDATE加是什么锁? ♣答案部分 SELECT ... FOR UPDATE语句语法如下: SELECT ......若不使用OF指定锁定列,则所有相关均被锁定。若在OF中指定了需修改列,则只有与这些列相关才会被锁定。WAIT子句指定等待其他用户释放锁秒数,防止无限期等待。...“使用FOR UPDATE WAIT”子句优点如下: ① 防止无限期地等待被锁定 ② 允许应用程序对锁等待时间进行更多控制 ③ 对于交互式应用程序非常有用,因为这些用户不能等待不确定时间...④ 若使用了SKIP LOCKED,则可以越过锁定,不会报告由wait n引发“资源忙”异常报告 Oracle 10g之前,SELECT ......FOR UPDATE获取是2级TM锁,而从Oracle 10g开始,SELECT ... FOR UPDATE获取是3级TM锁。 本文选自《Oracle程序员面试笔试宝典》,作者:小麦苗

1.1K10

Oracle如何定时清理INACTIVE状态会话?

今天小麦苗给大家分享Oracle如何定时清理INACTIVE状态会话? Oracle如何定时清理INACTIVE状态会话?...一般情况下,少量INACTVIE会话对数据库并没有什么影响,但是,如果由于程序设计等某些原因导致数据库出现大量会话长时间处于INACTIVE状态,那么将会导致大量系统资源被消耗,造成会话数超过系统...直接KILL掉INACTIVE会话。V$SESSION视图中LAST_CALL_ET字段表示用户最后一条语句执行完毕后到sysdate时间,单位为秒。...SYSDATE, 'HH24') >= '20' OR -- TO_CHAR(SYSDATE, 'HH24') <= '08' THEN FOR cur IN (SELECT...SYSTEM DISCONNECT SESSION ''' || a.SID || ',' || a.serial# || ',@' || a.INST_ID

2.2K20

Oracle RAC如何指定JOB运行实例?

♣ 题目部分 RAC如何指定JOB运行实例? ♣ 答案部分 RAC,可以JOB某个指定实例上运行。...对于DBMS_JOB和DBMS_SCHEDULER来说,它们指定方法不同: (1)DBMS_JOB下,执行SYS.DBMS_JOB.SUBMIT包创建JOB时候,可以指定INSTANCE参数,该参数指定了...RAC环境,采用DBMS_JOB包可以指定JOB运行时候实例。...示例代码如下所示,该例子展示了获取RAC数据库IP地址并记录到临时表T_IPADDRESS_LHR,例子很经典,希望读者可以理解。...该例子和上面的DBMS_JOB例子一样展示了获取集群数据库IP地址并记录到临时表T_IPADDRESS_LHR,例子前3步和上面的例子一样,不再赘述,接下来就是创建SERVICE和JOB_CLASS

29020

【DB笔试面试608】Oracle如何使用STA来生成SQL Profile?

♣ 题目部分 Oracle如何使用STA来生成SQL Profile? ♣ 答案部分 利用STA对语句进行优化后,STA会对语句进行分析,采用最优优化策略,并给出优化后查询计划。...可以按照STA给出建议重写语句。但是,有些情况下,你可能无法重写语句(比如在生产环境SQL语句又在一个包)。...这个时候就可以利用Sql Profile,将优化策略存储ProfileOracle构建这条语句查询计划时,就不会使用已有相关统计数据,而使用Profile策略,生成新查询计划。...这里要特别提到是category这个参数,你可以通过设置这个参数,制定特定会话使用这个profile。10g,每个会话都有一个新参数SQLTUNE_CATEGORY,他默认值是DEFAULT。...并且查询计划还有一些附加信息,表明这个语句是采用了“SYS_SQLPROF_0154e728ad3f0000”这个Profile,而不是根据对象上面的统计数据来生成查询计划。

2.6K20

【DB笔试面试600】Oracle如何获取SQL历史执行计划?

♣ 题目部分 Oracle如何获取SQL历史执行计划?...♣ 答案部分 历史执行计划只能从AWR获取,如果AWR没有记录的话,那么就无法获取历史执行计划了,获取历史执行计划命令如下所示: SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY_AWR...,单机环境为1,RAC环境填写具体实例号,L_BID为开始快照号,L_EID为结束快照号,L_SQLID为要查看SQLSQL_ID。...下面的例子可以直接从AWR获取SQL_ID为“bsa0wjtftg3uw”执行计划,可以看到历史有2种执行计划,一个是全表扫描,一个是索引范围扫描: SYS@RAC2LHR1> SELECT * FROM...TABLE(DBMS_XPLAN.DISPLAY_AWR(SQL_ID => 'bsa0wjtftg3uw' )) ; SQL_ID bsa0wjtftg3uw -------------------

1.1K20

【DB笔试面试570】OracleSQL优化写法上有哪些常用方法?

♣ 题目部分 OracleSQL优化写法上有哪些常用方法? ♣ 答案部分 一般书写SQL时需要注意哪些问题,如何书写可以提高查询效率呢?...(3)SELECT子句中避免使用“*”,应该写出需要查询字段。 当想在SELECT子句中列出所有的列时,可以使用“*”来返回所有的列,但这是一个非常低效方法。...实际上,Oracle解析过程,会将“*”依次转换成所有的列名,这个工作是通过查询数据字典完成,这意味着将耗费更多时间。...ENAME"=:B1) 该执行计划执行顺序为: ① ID1有3个子节点ID2、ID3、ID5,由于ID2最小,故先执行ID2; ② ID2对EMP表进行全表扫描,将返回14ID1; ③ 相关组合...ENAME"=:B1)”过滤条件“:B1”由ID18数据提供,ID5没有返回数据,所以那8没有减少ID1将8彻底过滤数据返回给客户端。

3.6K30

【DB笔试面试584】Oracle如何得到已执行目标SQL绑定变量值?

♣ 题目部分 Oracle如何得到已执行目标SQL绑定变量值?...♣ 答案部分 当Oracle解析和执行含有绑定变量目标SQL时,如果满足如下两个条件之一,那么该SQL绑定变量具体输入值就会被Oracle捕获: l 当含有绑定变量目标SQL以硬解析方式被执行时...l 当含有绑定变量目标SQL以软解析或软软解析方式重复执行时,Oracle默认情况下至少得间隔15分钟才会捕获一次。...,Oracle只会捕获那些位于目标SQLWHERE条件绑定变量具体输入值,而对于那些使用了绑定变量INSERT语句,不管该INSERT语句是否是以硬解析方式执行,Oracle始终不会捕获INSERT...查询视图V$SQL_BIND_CAPTURE或V$SQL可以得到已执行目标SQL绑定变量具体输入值。

3K40

【DB笔试面试569】OracleSQL如何优化?SQL优化关注点有哪些?

♣ 题目部分 OracleSQL如何优化?SQL优化关注点有哪些? ♣ 答案部分 随着数据库数据量增长,系统响应速度就成为目前系统需要解决最主要问题之一。...对于一个系统不是简单地能实现其功能就可以了,而是要写出高质量SQL语句,提高系统可用性。 多数情况下,Oracle使用索引来更快地遍历表,优化器主要根据定义索引来提高性能。...有可能是设计不合理、业务需求不合理,而问题SQL并非根本原因。 (9)查询特别频繁结果是否可以缓存,比如Oracle/*+ result_cache */。 (10)分析表连接方式。...(13)创建表时候,应尽量建立主键,可以根据实际需要调整数据表PCTFREE参数。 SQL优化一般性原则如下所示: l 目标: 减少服务器资源消耗(主要是磁盘I/O)。...l 编码方面: 参考【1.2.5.2 SQL优化写法上有哪些常用方法?】。 本文选自《Oracle程序员面试笔试宝典》,作者:李华荣。

98520

【DB笔试面试671】Oracle如何监控数据库非常耗费性能SQL语句?

题目部分 Oracle如何监控数据库非常耗费性能SQL语句?...答案部分 在前边触发器章节中介绍了如何利用系统触发器监控用户登陆登出问题,并且可以记录所有的数据库DDL语句,这对数据库安全审计是非常有帮助。...利用触发器还可以限制用户某一段固定时间才能登陆数据库。接下来介绍一下如何利用SQL实时监控特性来监控数据库非常耗费性能SQL语句。.../*+ MONITOR */ XB_SQL_MONITOR_LHR T SET T.SQL_TEXT='XXXXXXXXXXXX'; 以上3条SQL不同会话运行,等待大约5分钟后然后查看监控效果...下面是该JOB运行日志: SELECT JRD.LOG_ID, JRD.JOB_NAME, N.JOB_CLASS, TO_CHAR(JRD.ACTUAL_START_DATE

1.7K50

【DB笔试面试605】OracleSQL概要(SQL Profile)作用是什么?

♣ 题目部分 OracleSQL概要(SQL Profile)作用是什么?...使用SQL Profile两个目的:①锁定或者说是稳定执行计划。②不能修改应用SQL情况下使SQL语句按指定执行计划运行。...SQL Profile最大优点是不修改SQL语句和会话执行环境情况下去优化SQL执行效率,适合无法应用程序修改SQL时。...如果我们想它走全表扫描,首先获取全表扫描HINT LHR@dlhr> explain plan for select /*+ full(TB_LHR_20160525) */* from TB_LHR..."@"SEL$1") 最麻烦sqlprof_attr('FULL(t1@SEL$1)')是这里格式如何写,Mos上文章note 215187.1sqlt.zip目录utl中提供了脚本coe_xfr_sql_profile.sql

88210

一条SQL语句MySQL如何执行

来源:JavaGuide | 作者:木木匠 本篇文章会分析一个 sql 语句 MySQL 执行流程,包括 sql 查询 MySQL 内部会怎么流转,sql 语句更新是怎么完成。...MySQL 查询不建议使用缓存,因为查询缓存失效实际业务场景可能会非常频繁,假如你对一个表更新的话,这个表上所有的查询缓存都会被清空。对于不经常更新数据来说,使用缓存还是可以。...: 先检查该语句是否有权限,如果没有权限,直接返回错误信息,如果有权限, MySQL8.0 版本以前,会先查询缓存,以这条 sql 语句为 key 在内存查询是否有结果,如果有直接缓存,如果没有,执行下一步...通过分析器进行词法分析,提取 sql 语句关键元素,比如提取上面这个语句是查询 select,提取需要查询表名为 tb_student,需要查询所有的列,查询条件是这个表 id='1'。...进行权限校验,如果没有权限就会返回错误信息,如果有权限就会调用数据库引擎接口,返回引擎执行结果。 2.2 更新语句 以上就是一条查询 sql 执行流程,那么接下来我们看看一条更新语句如何执行呢?

3.5K20
领券