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

2021-07-15 18:05:25 +08:00
 kikione

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

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

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

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

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

https://c4ys.com/archives/2098

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/789766

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX