几百万的表,用户喜欢用 备注 来查询,备注没发上索引,这个该怎么解决,能查询快一些!
大家帮我给些方案,参考一下
1
xiaofan2 2021-07-15 18:17:46 +08:00
映射表
|
2
ccde8259 2021-07-15 18:49:55 +08:00 via iPhone 1
等值查询开列存哈希上索引
按部分内容查请全文索引用 match against |
3
carity 2021-07-15 18:51:38 +08:00 1
上 ES ?
|
4
changwei 2021-07-15 19:08:11 +08:00
是 MySQL 吗?据我所知 MySQL 的 innodb 索引键长度最大只有 1000bytes,不然可以考虑用 ES 搜索引擎
|
5
chenshun00 2021-07-15 19:20:03 +08:00
关注点
1 、几百万的表 2 、用户系统用备注来查询 1 、有多少用户 用户的区分度 2 、 |
6
YUyu101 2021-07-15 20:57:56 +08:00 via Android
没法上全文索引?上 es
|
7
dzdh 2021-07-15 21:37:32 +08:00
PostgreSQL 无压力
如果备注内容不多不复杂的话,tsvector 自己拆都行 |
9
zhucelws 2021-07-15 22:23:29 +08:00 3
看标题第一句,以为是什么百达翡丽、江诗丹顿
|
10
xmumiffy 2021-07-15 23:11:09 +08:00
每个用户有多少数据?没上万全查出来程序里过滤
|
11
ifconfig 2021-07-16 01:18:02 +08:00 1
ES:早猜到了几百万就想侮辱我
|
12
xuanbg 2021-07-16 07:22:24 +08:00
上 es,id 和备注丢进去就行
|
13
oh 2021-07-16 08:53:11 +08:00
如果用户经常在 备注 里填写相似意义的内容,不是应该增加字段来记录这些内容吗
|
14
potatowish 2021-07-16 09:06:50 +08:00 via iPhone
1.上全文搜索引擎
2.加几个标签类型字段,对备注信息进行简单概括,不直接搜备注,按标签类型搜即可 |
15
skadi 2021-07-16 10:24:51 +08:00
早晚上 es
|
16
bthulu 2021-07-16 10:32:25 +08:00
上什么 es, mysql 又不是没有全文索引, 加上去分分钟搞定
|
17
wangyzj 2021-07-16 11:28:07 +08:00
es
|
18
zifangsky 2021-07-16 18:07:34 +08:00
将 MySQL 中记录的「主键 ID 」和「备注」额外在 es 中存一份,用户用「备注」查询的时候去 es 中查,得到一系列的「主键 ID 」再返回 MySQL 中查
|
19
axbx 2021-07-17 08:23:03 +08:00
5.6 之后支持全文索引的,直接加上去就行了
|
20
encro 2021-07-18 09:23:40 +08:00
|