首页
注册
登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请
登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
V2EX
›
程序员
mysql 多关键字查询
aliipay
·
2018-12-17 00:37:42 +08:00
· 2610 次点击
这是一个创建于 2279 天前的主题,其中的信息可能已经有所发展或是发生改变。
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 左右
第 1 条附言 ·
2018-12-17 02:01:10 +08:00
补充一个条件,PABC 都是 hash,是稀疏但不均匀的,存在某些 P 下有几十万条,PA/PB/PC 条件下 97%在十条内,大概 0.1% 超过 1000 条
MySQL
pabc
Hash
查询
7 条回复
1
sagaxu
2018-12-17 01:14:44 +08:00 via Android
假如 P 分布很稀疏,只建一个 P 就够了,否则建 PAB,PBC,PCA 三个。
2
aliipay
OP
2018-12-17 02:03:21 +08:00
@
sagaxu
感谢。 不过一个条件忘了说明: 数据是稀疏但是不均匀的
3
feverzsj
2018-12-17 02:08:43 +08:00
每个字段各建一个,查询时 mysql 可以合并多个索引的结果
4
aliipay
OP
2018-12-17 02:14:31 +08:00
@
sagaxu
PCA 没意义吧。 看上去得 PAB, PAC, PBC, PC 这四个
5
aliipay
OP
2018-12-17 02:15:07 +08:00
@
feverzsj
PABC 都单独建,查询时 mysql 能合并?
6
feverzsj
2018-12-17 02:21:01 +08:00 via Android
@
aliipay
当然可以
7
sagaxu
2018-12-17 02:48:57 +08:00 via Android
@
aliipay
pca = pac + pc
abc 是轮换对称的,结果一般也要轮换对称
关于
·
帮助文档
·
博客
·
API
·
FAQ
·
实用小工具
·
1021 人在线
最高记录 6679
·
Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 23ms ·
UTC 19:39
·
PVG 03:39
·
LAX 12:39
·
JFK 15:39
Developed with
CodeLauncher
♥ Do have faith in what you're doing.