Mar*_*las 56
没有.
您索引搜索的字段并具有高选择性/基数.布尔字段的基数几乎在任何表格中都被删除.如果有的话它会使你的写入速度变慢(通过一个很小的数量).
如果每个查询考虑到软删除,你可能会把它作为聚集索引中的第一个字段吗?
jhl*_*lnd 17
什么是deleted_at DATETIME列?有两个好处.
您的查询可能如下所示:
SELECT * FROM xyz WHERE deleted_at IS NULL
Run Code Online (Sandbox Code Playgroud)
我认为这会有所帮助,特别是在覆盖指数方面.
当然多少/几乎取决于您的数据和查询.
您可以获得有关索引的各种理论,但最终答案由数据库引擎在具有真实数据的数据库中给出.通常你会对答案感到惊讶(或者我的理论太糟糕了;)
检查查询的查询计划,确定是否可以改进查询,或者是否可以改进索引.改变指数并看出它有什么不同,这很简单