performance_delete.md 901 字节
Newer Older
M
Mars Liu 已提交
1 2 3 4
# 快速删除

Joe 需要删除数据分析库中 orders 表的数据,orders按时间分区,因为是分析部门离线使用,不需要考虑并发,下列哪些操作可以更快的删除这些数据?

M
Mars Liu 已提交
5
1. 使用 `truncate orders`;
M
Mars Liu 已提交
6 7 8 9 10
2. 可以执行 `ALTER TABLE orders DROP PARTITION partition_name;` 删除指定分区
3. 去掉唯一约束然后 `delete from orders where 1=1`
4. 使用可写游标,一次一万行滚动删除
5. `drop table orders` 删除后重建

M
Mars Liu 已提交
11 12
<hr/>

F
feilong 已提交
13
点击进入[MySQL实战练习环境](https://mydev.csdn.net/product/pod/new?image=cimg-centos7-skilltreemysql&connect=auto&create=auto&utm_source=skill){target="_blank"}。
F
feilong 已提交
14

F
feilong 已提交
15 16
* `show databases;` 列出所有数据库
* `show tables;` 列出所有表
M
Mars Liu 已提交
17

M
Mars Liu 已提交
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
## 答案

```
1, 2, 5
```

## 选项

### A

全部选项都可以

### B

```
1, 2, 3, 4
```

### C

```
3, 4
```

### D

```
2, 3
```

### E

```
2, 3, 4
M
Mars Liu 已提交
52
```