mysql 多关键字查询

2018-12-17 00:37:42 +08:00
 aliipay
PABC 四个字段都是 char(10)类型,数据来源都是 hash, 查询的时候按以下方式:
P+A
P+B
P+C
P+A+B
P+A+C
P+B+C
P+A+B+C
索引如何建比较好?

已经通过 P 字段进行分表,每个表总条数控制在 1000w 左右
2378 次点击
所在节点    程序员
7 条回复
sagaxu
2018-12-17 01:14:44 +08:00
假如 P 分布很稀疏,只建一个 P 就够了,否则建 PAB,PBC,PCA 三个。
aliipay
2018-12-17 02:03:21 +08:00
@sagaxu 感谢。 不过一个条件忘了说明: 数据是稀疏但是不均匀的
feverzsj
2018-12-17 02:08:43 +08:00
每个字段各建一个,查询时 mysql 可以合并多个索引的结果
aliipay
2018-12-17 02:14:31 +08:00
@sagaxu PCA 没意义吧。 看上去得 PAB, PAC, PBC, PC 这四个
aliipay
2018-12-17 02:15:07 +08:00
@feverzsj PABC 都单独建,查询时 mysql 能合并?
feverzsj
2018-12-17 02:21:01 +08:00
@aliipay 当然可以
sagaxu
2018-12-17 02:48:57 +08:00
@aliipay pca = pac + pc

abc 是轮换对称的,结果一般也要轮换对称

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

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

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

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

© 2021 V2EX