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