厚积薄发SQL技巧

--删除表记录时,用truncate代替delete
    TRUNCATE和DELETE有以下几点区别:

1、TRUNCATE是一个DDL语言,不能对TRUNCATE使用ROLLBACK命令(像所有的DDL语言一样,他被隐式提交)。
     TRUNCATE不能触发任何DELETE触发器,而如果有ROLLBACK命令DELETE将被撤销,而TRUNCATE则不会被撤销。
2、当表被清空后表和表的索引讲重新设置成初始大小,而delete则不能。

--用>=替代>
   SELECT *  FROM EMP  WHERE DEPTNO >=4   --高效:
   SELECT *  FROM EMP   WHERE DEPTNO >3 --低效:
   两者的区别在于:前者DBMS将直接跳到第一个DEPT等于4的记录。

   而后者将首先定位到DEPTNO=3的记录并且向前扫描到第一个DEPT大于3的记录.

原文地址:https://www.cnblogs.com/xiaoer/p/1982723.html