【 TiDB 使用环境】生产环境 /测试/ Poc
【 TiDB 版本】
【复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】
我们新部署了2个节点tiflash添加了一些表的tiflash副本做测试。发现有个大表的sql查询和之前走tikv速度差不多(甚至还不如tikv快),不知是这个表数据的问题还是SQL优化的问题(因为这个表数据是从原来的老tidb上br备份过来的数据数据量大概60亿)
我们的SQL大都类似这样:
select * from t1 where t1.a in (v1,v2,v3,v4,v5.......)
列子:
SELECT COUNT('*') AS `__count` FROM `xpost` WHERE (`xpost`.`entryid` IN (4852480, 4852097, 4849282, 4855686, 4849799, 4849160, 4853516, 4852797, 4851728, 4850328, 4851609, 4849052, 4848542, 4854815, 4848160, 4855201, 4855076, 4853029, 4855089, 4851496, 4848681, 4852401, 4849330, 4856371, 4852190, 4851514, 4854986, 4851392, 4852384, 4851522, 4855748, 4851526, 4852306, 4855624, 4855626, 4848589, 4852045, 4848849, 4848594, 4855635, 4852308, 4855766, 4849495, 4855408, 4855134, 4848864, 4850320, 4852305, 4852841, 4857706, 4849261, 4857454, 4852079, 4851696, 4852392, 4846035, 4851956, 4852350, 4848247, 4849274, 4849403, 4848253, 4856062) AND (1) AND `xpost`.`is_comment` = 1 AND `xpost`.`hidden` IN (-2, -1, 0, 2, 3, 4) AND `xpost`.`sourcetype` IN (18) AND ((lower(domain) like '%抖音%')));
我看文档里面有说这种 SELECT IN (SELECT ) 的可以改为 select join的,我这种IN 里面是固定的怎么优化呢?
还有我们的SQL默认都不走tiflash,通过 手动HINT,/*+ read_from_storage(tiflash[table_name]) */ ,可以走tiflash