专门添加一个IsDeleted(bool类型)字段, DeleteTime字段只用来记录删除时间 · Issue #158 · dotnetcore/osharp · GitHub
Skip to content

专门添加一个IsDeleted(bool类型)字段, DeleteTime字段只用来记录删除时间 #158

Open

Description

@wdydxf

您的功能请求与现有问题有关吗?请描述

where DeleteTime is null的效率有点差, 测试了300万条数据, 关联三个表时, 非常耗时.
查阅了相关资料, 资料说尽量不用IsNull做判断.

描述您想要的解决方案

专门添加一个IsDeleted(bool类型)字段, DeleteTime字段只用来记录删除时间

描述你考虑过的替代方案

现在的方式也可以使用

附加上下文,比如截图

无

Activity

  1. gmf520 commented on Apr 30, 2020

    @gmf520
    Member
    1. 逻辑删除涉及到唯一索引的问题,只用一个bool字段是实现不了唯一索引,因而用DateTime类型,即能表示已删除,同时也解决已删除数据的唯一索引问题
    2. 判断一个字段是否为null不应该成为性能的瓶颈吧
  2. xuejmnet commented on Jan 30, 2022

    @xuejmnet

    确实mysql尽可能使用非null或许使用最小时间做为删除字段判断会比isnull高效譬如>1970/01/01之类的

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions