又一例字段隐式转换的SQL慢查询

背景:开发从聚石塔拉数据到我司服务器,如果相关状态有变化,会删除原先保留在我司数据库上的数据,再insert数据。

DELETE FROM trade WHERE tid IN (1700364470286966980, 2947548566741856246, 2948770728639326761, 2950093119014463701, 1702009057105118877, 2949468193042232526, 2949854042124905313, 1701291324044246268, 1701943179699452195, 1694371117202071199, 2940730344238219509, 2948766552831642219, 2948765364747232526, 2950087323221233126, 1701944403110479883, 2942350812123927730, 2892695546012932147, 1701292044728072597, 1701943179797116483, 2949452713804874623, 2949462937118579211, 2949454873728767218, 2950076847770195955, 2948764968835655507, 1701959522027691274, 1679169864987545977, 2935672380864438440, 2949452461688940907, 1701071113732305980, 2950084263468506163, 2949451453780824835, 2943145152062108527, 1691776957000375599, 1702007689852803999, 2946452220666038123, 2949458221445925944, 2936752453059680957, 2943309600045541957, 1686973658421577474, 1699706388115895071, 2939058687336805465, 2950080951674417758, 1701958982436953376, 2950077639476713914, 1701943719436270468, 2949838850960738414, 1697643733715576667, 1699373643325700793, 1698950643939814295, 2950082535640099354, 1696058005979623678, 2938554325165632915, 1701959090708046291, 2950082247593996457, 2943677343732575703, 2949849722394523959, 2950080231747113441, 1701959306325594276, 2949840794991805300, 2948776884244074021, 2949465817133396607, 1701293268082557190, 2947563434213184256, 1701958838839794678, 2949452929978406565, 2945012580244908934, 1702007185814297088, 2948775372138005313, 2950091895073888810, 1701958622376207982, 2937806604535015128, 2948777280128765411, 2949850046313514163, 2950086747417116761, 2949840110332997652, 2934171612261798734, 1701943575570128688, 1701958874322226397, 2948767740815203514, 2943645120060528353, 2949845654435988562, 1701942927984338769, 2949454009722034264, 2912204378503135411, 2944367895889692925, 2950065939198978043, 2949458401550562209, 2950091463105488538, 1701958874072119768, 2948764716895456012, 1676146260095814194, 2948662731265986441, 2950080051609931558, 1700565060595294878, 1697049625079088894, 1612474790301377492, 1701291072959610884, 2948781600005291440, 2948765256864698118, 2950075083959417502, 2949458077601524527, 2948765292940276953, 2948777892082297544, 1701944079443507875, 2949456673556392338, 2949465565093167602, 2950086315527093862, 2949847814476289456, 1701292044482540269, 1693599567231132986)

 

 

看一下字段定义

tid你定义的是varchar不是int,发生全表扫描

 

 语句中存在隐式转换:`tid` = xxxxxx,可能导致用不上索引,建议您修改成:`tid` = 'xxxxxxxx',已通知开发修改代码,目前已修复。

posted @ 2022-10-14 09:07  青空如璃  阅读(25)  评论(0编辑  收藏  举报