gpt4 book ai didi

mysql - 我已经对组合列建立了索引,是否也应该对单独的列建立索引?

转载 作者:行者123 更新时间:2023-11-29 10:39:30 24 4
gpt4 key购买 nike

我有一张这样的 table

CREATE TABLE `tbl` (
`id` int(10) unsigned NOT NULL,
`pid` int(10) unsigned NOT NULL,
`cid` int(10) unsigned NOT NULL,
`name` int(11) DEFAULT NULL,
`desc` varchar(500),
`deleted` tinyint(1) unsigned NOT NULL DEFAULT 0,
`createdAt` datetime DEFAULT NULL,
PRIMARY KEY `pid_cid` (`pid`,`cid`)
) ENGINE=InnoDB
选择查询的

WHERE 子句是:

where pid=pid [and deleted = 1];
where cid=cid [and deleted = 1];
where pid=pid and cid=cid [and deleted = 1];
  1. 我应该单独索引 pidcid 吗?
  2. 我应该为已删除建立索引吗?

最佳答案

最佳索引集是:

  • pid,已删除
  • cid,已删除
  • pid、cid、已删除

您是否需要全部三个取决于您的数据。每个pid/cid有多少个不同的已删除值。前两个可能就足够了。

索引已删除本身可能没有用。据推测,它只采用两个值,这通常不是索引的良好候选者。

关于mysql - 我已经对组合列建立了索引,是否也应该对单独的列建立索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45788373/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com