edis0n0
V2EX  ›  数据库

EF Core 统计当前月创建的数据数量(DateTimeOffset 类型)效率最高的方法是什么?

  •  
  •   edis0n0 · Oct 18, 2022 · 1359 views
    This topic created in 1327 days ago, the information mentioned may be changed or developed.
    5 replies    2022-10-19 06:42:45 +08:00
    ktqFDx9m2Bvfq3y4
        1
    ktqFDx9m2Bvfq3y4  
       Oct 18, 2022
    这种统计功能其实可以考虑写表定时刷新,这样性能就无所谓了
    edis0n0
        2
    edis0n0  
    OP
       Oct 18, 2022
    @Chad0000 #1 查询频率其实不高,目前是直接 Where 和月第一天时间比大小,感觉很慢,不知道是不是遍历了全表,想问问要不要加索引。
    wu00
        3
    wu00  
       Oct 18, 2022
    1 ,要加索引
    2 ,DateTimeOffset 应该会存时区信息,EF 生成的 sql 扒出来看看执行计划,使用某些函数(比如 date_fromat)转换时间,从而导致索引失效
    clorischan
        4
    clorischan  
       Oct 18, 2022 via Android
    ID 是自增类型或者带时间戳的雪花 ID 或者是有序 GUID 的话,可以试试先找当月第一条数据,然后再查询 ID 大于这条的数据。
    u823tg
        5
    u823tg  
       Oct 19, 2022
    效率最高就是实时计数,或者定时计数,然后写表。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2893 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 05:02 · PVG 13:02 · LAX 22:02 · JFK 01:02
    ♥ Do have faith in what you're doing.