数据表通用字段 delete_time 导致的性能问题
对于数据的软删除，`Lin CMS`是通过`delete_time`字段是否为`null`来判断的。因此所有的查询语句，都会拼接上一个 where 条件`delete_time is null`。这种做法会引发很诸多性能问题：  
因为`delete_time`默认值为`null`，可以为 null ，会导致查询效率大打折扣，`explain`会走全表扫描：
![image](https://user-images.githubusercontent.com/29156058/124559270-209f1f00-de6e-11eb-98be-19a5d7012b14.png)

推荐增加 `is_deleted` 字段来做删除标识，这种是比较常用的逻辑删除做法，查询性能上至少比现在的做法要好：  
```sql
is_deleted int(1)  NOT NULL DEFAULT 0 COMMENT '0：正常 1：已删除'
```

参考链接：
[性能优化案例分析之一：软删除是慢查询的罪魁祸首？](https://ruby-china.org/topics/34540)
[小心 MySQL Soft Delete](https://www.jianshu.com/p/aeff2a297d62)
[为什么 MySQL 不推荐默认值为 null ？](https://cloud.tencent.com/developer/article/1762968?from=article.detail.1530142)