V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
kikione
V2EX  ›  程序员

几百万的表,用户喜欢用 备注 来查询,备注没发上索引,这个该怎么解决,能查询快一些!

  •  
  •   kikione · 2021-07-15 18:05:25 +08:00 · 3963 次点击
    这是一个创建于 1238 天前的主题,其中的信息可能已经有所发展或是发生改变。

    几百万的表,用户喜欢用 备注 来查询,备注没发上索引,这个该怎么解决,能查询快一些!

    大家帮我给些方案,参考一下

    20 条回复    2021-07-18 09:23:40 +08:00
    xiaofan2
        1
    xiaofan2  
       2021-07-15 18:17:46 +08:00
    映射表
    ccde8259
        2
    ccde8259  
       2021-07-15 18:49:55 +08:00 via iPhone   ❤️ 1
    等值查询开列存哈希上索引
    按部分内容查请全文索引用 match against
    carity
        3
    carity  
       2021-07-15 18:51:38 +08:00   ❤️ 1
    上 ES ?
    changwei
        4
    changwei  
       2021-07-15 19:08:11 +08:00
    是 MySQL 吗?据我所知 MySQL 的 innodb 索引键长度最大只有 1000bytes,不然可以考虑用 ES 搜索引擎
    chenshun00
        5
    chenshun00  
       2021-07-15 19:20:03 +08:00
    关注点
    1 、几百万的表
    2 、用户系统用备注来查询

    1 、有多少用户
    用户的区分度
    2 、
    YUyu101
        6
    YUyu101  
       2021-07-15 20:57:56 +08:00 via Android
    没法上全文索引?上 es
    dzdh
        7
    dzdh  
       2021-07-15 21:37:32 +08:00
    PostgreSQL 无压力

    如果备注内容不多不复杂的话,tsvector 自己拆都行
    Huelse
        8
    Huelse  
       2021-07-15 22:17:08 +08:00
    @dzdh pg +1,这玩意儿是真叼
    zhucelws
        9
    zhucelws  
       2021-07-15 22:23:29 +08:00   ❤️ 3
    看标题第一句,以为是什么百达翡丽、江诗丹顿
    xmumiffy
        10
    xmumiffy  
       2021-07-15 23:11:09 +08:00
    每个用户有多少数据?没上万全查出来程序里过滤
    ifconfig
        11
    ifconfig  
       2021-07-16 01:18:02 +08:00   ❤️ 1
    ES:早猜到了几百万就想侮辱我
    xuanbg
        12
    xuanbg  
       2021-07-16 07:22:24 +08:00
    上 es,id 和备注丢进去就行
    oh
        13
    oh  
       2021-07-16 08:53:11 +08:00
    如果用户经常在 备注 里填写相似意义的内容,不是应该增加字段来记录这些内容吗
    potatowish
        14
    potatowish  
       2021-07-16 09:06:50 +08:00 via iPhone
    1.上全文搜索引擎
    2.加几个标签类型字段,对备注信息进行简单概括,不直接搜备注,按标签类型搜即可
    skadi
        15
    skadi  
       2021-07-16 10:24:51 +08:00
    早晚上 es
    bthulu
        16
    bthulu  
       2021-07-16 10:32:25 +08:00
    上什么 es, mysql 又不是没有全文索引, 加上去分分钟搞定
    wangyzj
        17
    wangyzj  
       2021-07-16 11:28:07 +08:00
    es
    zifangsky
        18
    zifangsky  
       2021-07-16 18:07:34 +08:00
    将 MySQL 中记录的「主键 ID 」和「备注」额外在 es 中存一份,用户用「备注」查询的时候去 es 中查,得到一系列的「主键 ID 」再返回 MySQL 中查
    axbx
        19
    axbx  
       2021-07-17 08:23:03 +08:00
    5.6 之后支持全文索引的,直接加上去就行了
    encro
        20
    encro  
       2021-07-18 09:23:40 +08:00
    Mysql 中文全文索引(含实例 5 分钟上手)

    https://c4ys.com/archives/2098
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   6049 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 02:02 · PVG 10:02 · LAX 18:02 · JFK 21:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.