JavaScript
-
js的基本类型有哪些?引用类型有哪些?null和undefined的区别。
-
如何判断一个变量是Array类型?如何判断一个变量是Number类型?(都不止一种)
-
Object是引用类型嘛?引用类型和基本类型有什么区别?哪个是存在堆哪一个是存在栈上面的?
-
JS常见的dom操作api
-
解释一下事件冒泡和事件捕获
-
事件委托(手写例子),事件冒泡和捕获,如何阻止冒泡?如何组织默认事件?
-
对闭包的理解?什么时候构成闭包?闭包的实现方法?闭包的优缺点?
-
this有哪些使用场景?跟C,Java中的this有什么区别?如何改变this的值?
-
call,apply,bind
-
显示原型和隐式原型,手绘原型链,原型链是什么?为什么要有原型链
-
创建对象的多种方式
-
实现继承的多种方式和优缺点
-
new 一个对象具体做了什么
-
手写Ajax,XMLHttpRequest
-
变量提升
-
举例说明一个匿名函数的典型用例
-
指出JS的宿主对象和原生对象的区别,为什么扩展JS内置对象不是好的做法?有哪些内置对象和内置函数?
-
attribute和property的区别
-
document load和document DOMContentLoaded两个事件的区别
-
JS代码调试
-
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
delete from table aa
truncate table aa
### 二、区别
>
> * `delete from`后面可以写条件,`truncate`不可以。
> * `delete from`记录是一条条删的,所删除的每行记录都会进日志,而`truncate`一次性删掉整个页,因此日至里面只记录页释放,简言之`,delete from`更新日志,`truncate`基本不,所用的事务日志空间较少。
> * `delete from`删空表后,会保留一个空的页,`truncate`在表中不会留有任何页。
> * 当使用行锁执行 `DELETE` 语句时,将锁定表中各行以便删除。`truncate`始终锁定表和页,而不是锁定各行。
> * 如果有`identity`产生的自增id列,`delete from`后仍然从上次的数开始增加,即种子不变,而`truncate`后,种子会恢复初始。
> * `truncate`不会触发`delete`的触发器,因为`truncate`操作不记录各个行删除。
>
>
>
### 三、总结
* `truncate`和 `delete`只删除数据,不删除表的结构(定义);
* `drop`语句将删除表的结构被依赖的约束(`constrain`),触发器(`trigger`),索引(`index`); 依赖于该表的存储过程/函数将保留,但是变为`invalid`状态。
* `delete`语句是`dml`,这个操作会放到**rollback segement**中,**事务提交之后才生效**;如果有相应的`trigger`,执行的时候将被触发;`truncate`,`drop`是`ddl`, 操作立即生效,原数据不放到`rollback segment`中,不能回滚,操作不触发`trigger`。
* `delete`语句不影响表所占用的`extent`, 高水线(high watermark)保持原位置不动;显然`drop`语句将表所占用的空间全部释放。`truncate` 语句缺省情况下将空间释放到 `minextents`个 **extent,**除非使用**reuse storage**; `truncate`会将高水线复位(回到最开始)。
* 速度,一般来说: `drop> truncate > delete`。
* 安全性:小心使用`drop` 和`truncate`,尤其没有备份的时候,否则哭都来不及。
* 使用上,想删除部分数据行用`delete`,注意带上`where`子句。 回滚段要足够大;想删除表。当然用`drop`;想保留表而将所有数据删除。如果和事务无关,用`truncate`即可。 如果和事务有关,或者想触发`trigger`,还是用`delete`;如果是整理表内部的碎片,可以用`truncate`跟上**reuse stroage**,再重新导入/插入数据。
#### 结束
一次完整的面试流程就是这样啦,小编综合了腾讯的面试题做了一份前端面试题PDF文档,里面有面试题的详细解析,分享给小伙伴们,有没有需要的小伙伴们都去领取!
**[开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】](https://bbs.csdn.net/forums/4304bb5a486d4c3ab8389e65ecb71ac0)**
![](https://img-blog.csdnimg.cn/img_convert/45f2869b91b538dd3bb3290ba13bc806.png)