› MySQL 5.5 Community Server
› MySQL 5.6 Community Server
› Percona Configuration Wizard
› XtraBackup 搭建主从复制
Great Sites on MySQL
› Percona
› MySQL Performance Blog
› Severalnines
推荐管理工具
› Sequel Pro
› phpMyAdmin
推荐书目
› MySQL Cookbook
MySQL 相关项目
› MariaDB
› Drizzle
参考文档
› http://mysql-python.sourceforge.net/MySQLdb.html
GroupF
V2EX  ›  MySQL

请问 ,我有一张一百万数据的表,然后插入的时间顺序是乱的,时间格式是 '2020-01-01 00:00:00' 这样的数据(后面的时分秒都是'00:00:00'),求 2020 年某个字段的 sum 值

  •  
  •   GroupF · Nov 13, 2020 · 4353 views
    This topic created in 2144 days ago, the information mentioned may be changed or developed.

    mysql 5.7

    我根据时间建立普通索引,然后用大于小于,between,substring,like,全走的 all,可能整个数据库表都是 2020 的数据

    倒是看 8.0 有个函数索引。。

    8 replies  •  2020-11-14 10:16:47 +08:00
    kely
        1
    kely  
       Nov 13, 2020 via Android   ❤️ 1
    你加个年的字段,然后加个年的索引试试?
    huijiewei
        2
    huijiewei  
       Nov 13, 2020   ❤️ 1
    直接用 <> 就是了。按说 between 会走索引的
    sagaxu
        3
    sagaxu  
       Nov 13, 2020 via Android   ❤️ 1
    只要 2020 年数据占比超过 10%,就有很大几率扫全表
    c6h6benzene
        4
    c6h6benzene  
       Nov 13, 2020 via iPhone   ❤️ 1
    那就用>=2020-01-01 试试?
    dustinth
        5
    dustinth  
       Nov 14, 2020
    没有 context, 没有 constrain, 没有目标, 谈优化无意义; 就像一楼说的, 加个年字段肯定是最快的的.
    xiangyuecn
        6
    xiangyuecn  
       Nov 14, 2020
    字符串?无脑 like 前缀匹配
    GroupF
        7
    GroupF  
    OP
       Nov 14, 2020
    @dustinth 嗯,谢谢
    Leigg
        8
    Leigg  
       Nov 14, 2020 via iPhone
    sum 字段也得建索引
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   5026 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 42ms · UTC 08:50 · PVG 16:50 · LAX 01:50 · JFK 04:50
    ♥ Do have faith in what you're doing.