【 使用环境 】 测试环境
【 OB 】
【 使用版本 】3.1
【问题描述】表的数据有5000w,sql通过主键id in查询发现是全表扫描,in里的id有200个
【复现路径】
**explain **
**SELECT id, user_id, community_id,name, gender, birthday, mobile, credential_type, credential_number FROM inha1 **
WHERE id IN ( ‘7b1685107706483a954bee3175186bb3’ , ‘7b752e38424a48af85e1dfc5c8de7636’ , ‘7bba52184bd4419daf46c692666f33a4’ , ‘7bd26d8c671e4c04b898eca48ac27fe7’ , ‘7bef8799ecef4de3a1ec589bb75c7cd3’ , ‘7bf3396b6cb145fd9650dd3c24261848’ , ‘7bff651a478245bc89a0198a292d72f3’ , ‘7c237ea11e884bec8d5b443025e643c8’ , ‘7c6dc76a71bb474ab669cc04c82abf27’ , ‘7c8d54ee887145ca85c87b3b1a4d8c32’ , ‘7cb59cd9bfe64fa0ae1e2bf1dd1ab172’ , ‘7cb71c8688b7481e887722e884ed01ae’ , ‘7ce6eb3d67c94559bb0e8bd3c4ccbcd4’ , ‘7cf8874712e94b109ee7bea012bed5fc’ , ‘7d110f9c227b4511b48d889d1dc5cb87’ , ‘7d22e3aca675436988c71f621e54ddd1’ , ‘7d2f20870c0c4a3a9fea7ae47cfc692d’ , ‘7d4d95b9dcc647729a8d140e76d6ed98’ , ‘7d9a0f1c503a48b8a42f1ca5831a0fef’ , ‘7d9c9813fb534c4b996fd82ebef4ba28’ , ‘7da10f07f68a474aacdab48a4931f3c3’ , ‘7db1436671134067a69253a44c247588’ , ‘7db95ac2e9b44ac1a7e93e8e9128072c’ , ‘7de5683c0d834a3b8ba5060436c940dd’ , ‘7e35c743d889464a9a88f766e7605672’ , ‘7e5df4c700b84f2b8f3062916571e9eb’ , ‘7e602cfc596c43b081a2ea8fa59fcb0b’ , ‘7e912004a3de4164877a182f0e4b3dc2’ , ‘7e9d1856e77f4845b8dfbc79d5c5b148’ , ‘7f01474dc337485586873240cb2ea721’ , ‘7f203a0827444d8d9c934e6b5453083c’ , ‘7f248fb19d224cc59e81f5068168c4ba’ , ‘7f336cfcfe1545c996affdb3804113c0’ , ‘7f50b8ddca4948cd964935bfa5a227c2’ , ‘7f5d2d8d19d24623918df5f22c62698e’ , ‘7f92131cea7c499fb8d6418b6994c0d7’ , ‘7f9a5c47080c490f9deb91e7820e050e’ , ‘7fa0ae95dd3d4c69be47c764c66074fe’ , ‘7fafa9bd0f684307932b8bfbbb6a2db7’ , ‘7fc0a7cd950a4703b7798cca0135ac7e’ , ‘7fca6f2ac3d74442955f7a41b4dc69d1’ , ‘7fcee58e57b54d55ae74952554832d01’ , ‘7ffb2e00ae09463f995cae938917b362’ , ‘80552301e08c4a8b9b7cfa37a589c729’ , ‘8068aa75528740cb99879e23072c7bc3’ , ‘807390bea50b4bd1b4ca86b56e5c4299’ , ‘8096d2f5f894437a8ce97445e905a930’ , ‘80a73f87a08747a5aa3053ce73ceaf33’ , ‘80c32d09018e48b8a021349cd07aaa7a’ , ‘80fc92d4ba994ae89a12f646f54b4fc3’ , ‘8101d71476644b4fadcf186ec717fb2f’ , ‘812902f419d5428897d411879f97cac1’ , ‘814802dd9e664dedbbe8ccaf8656c6cf’ , ‘816894f21e3b4f8fa7e94e65151359a3’ , ‘8192d4c630e848a89b4f7a4ce2b800f4’ , ‘81c8bfc26d024069b4babf130bd8aafd’ , ‘81d8e5aaee56404bb7c510efe204bfc7’ , ‘81f012e866904cdfbd5410f9690c568c’ , ‘81f9531de97549a7b6c75bb4bcd16500’ , ‘820a0be9b21b40b3911c4401d45af7f3’ , ‘822894df85f944c1a895bcf2f0885e5e’ , ‘8228c09cab6e4de78f15ff188eede6b2’ , ‘82353aef9022436cba0359292154e861’ , ‘823daf49d58a4e9dbb06e26aac4e479c’ , ‘825c79569ad0424c9b472707e3c90d96’ , ‘8285419cf3e24122924188b053a6866f’ , ‘82901574a6404ae59b13b7b94e6f7ff4’ , ‘8292a90cb1f54e0695ea6529bfb4ba33’ , ‘829879f4a4cb4a5b8d0b020963fff427’ , ‘82d232cbb4b04d62af8f50d6259ea605’ , ‘82e47f7298c641a693707eb47bd50898’ , ‘82fff01f7c934e4fbaf90705b132fb48’ , ‘8384b47c9d4f464b943f5cc50f72a35c’ , ‘83a49bc71ac64c59ba860b1af0ec8da7’ , ‘83c31ca3a90e48a3b76a5f17c703bb51’ , ‘840a90977c7e446fa347a7cd2d437668’ , ‘84592772471047f38335fa72f6cd45fb’ , ‘847ec76eb07c4b8a90d3ba46be1ab7cc’ , ‘84904d29e19345f09d7dbcaf506b7439’ , ‘8499310b15d141fe8557bae37cb0cecb’ , ‘84d8c24f54b047c7b994bcae568467b6’ , ‘84d9e218fd70442896580aeb492c5b7d’ , ‘85048e6c03184add8db28a9d9baa8af5’ , ‘85628ef2772443c7824be0a1af2fc5a2’ , ‘856735dac35a40faba04af9a01e2f885’ , ‘858ad82a0c274d43a86c39c82ad5c87c’ , ‘858df78da83847789e3333810e2227ec’ , ‘85963a4cdf8f47d18fa714098f6a94e6’ , ‘8597bff7f645460baf5dbed7dd5221f5’ , ‘85c2278193bf4f6d881150ebcbb484dc’ , ‘85c3b04f513041bc8782956679428e83’ , ‘85c7a155e7264467b10d1cc35dcc2e8b’ , ‘85c9a3b1e22740e6b1e8b0ee723f15e3’ , ‘85e140fb4ff04c02bf6c315ab1f62406’ , ‘8603ec1b0603443789919c4b52caf9dd’ , ‘8605d52597ec4ecf8e4764f0d856a50d’ , ‘8635caf983164d7d9a2d2d222e8920cb’ , ‘864625d7087c4be6b12cf9c47e615e6e’ , ‘865040298c0f4ff882479f76d07520ff’ , ‘8664d75e7a804ab0a9d753af59f083fb’ );
±---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Query Plan |
±---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| ===============================================================
|ID|OPERATOR |NAME |EST. ROWS|COST |
|0 |PX COORDINATOR | |49582509 |73066857|
|1 | EXCHANGE OUT DISTR |:EX10000 |49582509 |20009875|
|2 | PX PARTITION ITERATOR| |49582509 |20009875|
|3 | TABLE SCAN |inha1|49582509 |20009875|
Outputs & filters:
0 - output([INTERNAL_FUNCTION(inha1.id, inha1.user_id, inha1.community_id, inha1.name, inha1.gender, inha1.birthday, inha1.mobile, inha1.credential_type, inha1.credential_number)]), filter(nil)
1 - output([INTERNAL_FUNCTION(inha1.id, inha1.user_id, inha1.community_id, inha1.name, inha1.gender, inha1.birthday, inha1.mobile, inha1.credential_type, inha1.credential_number)]), filter(nil), dop=1
2 - output([inha1.community_id], [inha1.id], [inha1.user_id], [inha1.name], [inha1.gender], [inha1.birthday], [inha1.mobile], [inha1.credential_type], [inha1.credential_number]), filter(nil)
3 - output([inha1.community_id], [inha1.id], [inha1.user_id], [inha1.name], [inha1.gender], [inha1.birthday], [inha1.mobile], [inha1.credential_type], [inha1.credential_number]), filter([inha1.id IN (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)]),
access([inha1.community_id], [inha1.id], [inha1.user_id], [inha1.name], [inha1.gender], [inha1.birthday], [inha1.mobile], [inha1.credential_type], [inha1.credential_number]), partitions(p[0-15])
|
±---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.08 sec)
表的数据量有5000w ,通过一个列做了16个分区
CREATE TABLE inha1 (
id char(32) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT ‘’,
community_id char(32) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT ‘’,
user_id char(32) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT ‘’,
name varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT ‘’,
pinyin_name varchar(128) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT ‘’ ,
gender tinyint(1) NOT NULL DEFAULT ‘-1’ COMMENT ',
mobile varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT ‘’,
birthday date DEFAULT NULL,
credential_type tinyint(1) NOT NULL DEFAULT ‘1’,
credential_number varchar(25) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT ‘’,
nation varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT ‘’,
educational_level tinyint(1) DEFAULT NULL,
work_unit varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT ‘’,
position varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT ‘’,
religion tinyint(1) DEFAULT NULL,
english_name varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT ‘’,
email varchar(128) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT ',
province varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT ‘’,
city varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT ‘’,
county varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT ‘’,
address_detail varchar(640) COLLATE utf8mb4_unicode_ci DEFAULT ',
remark varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT ‘’,
have_room tinyint(4) NOT NULL DEFAULT ‘0’ ',
upload_face tinyint(4) NOT NULL DEFAULT ‘0’ ',
is_certification tinyint(1) NOT NULL DEFAULT ‘0’,
third_id varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT ',
create_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
update_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
call_enable tinyint(4) NOT NULL DEFAULT ‘0’ ,
PRIMARY KEY (community_id, id),
UNIQUE KEY uniq_community_id_user_id (community_id, user_id) BLOCK_SIZE 16384 GLOBAL,
KEY idx4 (id, community_id) BLOCK_SIZE 16384 LOCAL,
KEY idx_credential_number (credential_number) BLOCK_SIZE 16384 LOCAL,
KEY idx_id (id) BLOCK_SIZE 16384 LOCAL,
KEY idx_user_id (user_id) BLOCK_SIZE 16384 LOCAL
) DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = DYNAMIC COMPRESSION = ‘zstd_1.3.8’ REPLICA_NUM = 3 BLOCK_SIZE = 16384 USE_BLOOM_FILTER = FALSE TABLET_SIZE = 134217728 PCTFREE = 0
partition by key(community_id)
(partition p0,
partition p1,
partition p2,
partition p3,
partition p4,
partition p5,
partition p6,
partition p7,
partition p8,
partition p9,
partition p10,
partition p11,
partition p12,
partition p13,
partition p14,
partition p15) |
±------------
【问题现象及影响】
问题就是主键查询却使用了全表扫描
【附件】