MySQL隱式類(lèi)型轉(zhuǎn)換導(dǎo)致索引失效-創(chuàng)新互聯(lián)

今天發(fā)現(xiàn)一個(gè)問(wèn)題,where條件的列上明明有索引,但是執(zhí)行計(jì)劃還是走全表掃描

成都創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:做網(wǎng)站、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的鐘祥網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!mysql>  explain select task_id FROM mostop_xiaodai_collection_call_auto WHERE task_id = 433423882127424 AND task_data_id = 27739131157286912; +----+-------------+-------------------------------------+------------+------+------------------------------+------+---------+------+---------+----------+-------------+ | id | select_type | table                               | partitions | type | possible_keys                | key  | key_len | ref  | rows    | filtered | Extra       | +----+-------------+-------------------------------------+------------+------+------------------------------+------+---------+------+---------+----------+-------------+ |  1 | SIMPLE      | mostop_xiaodai_collection_call_auto | NULL       | ALL  | IDX_task_id,IDX_task_data_id | NULL | NULL    | NULL | 3101134 |     1.00 | Using where | +----+-------------+-------------------------------------+------------+------+------------------------------+------+---------+------+---------+----------+-------------+ 1 row in set, 5 warnings (0.00 sec)

查看表結(jié)構(gòu) 

mysql> show create table mostop_xiaodai_collection_call_auto\G *************************** 1. row ***************************        Table: mostop_xiaodai_collection_call_auto Create Table: CREATE TABLE `mostop_xiaodai_collection_call_auto` (   `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '編號(hào)',   `agentid` int(10) unsigned NOT NULL COMMENT '渠道 ID',   `loan_id` bigint(20) unsigned NOT NULL DEFAULT '0' COMMENT '借款 ID',   `user_id` bigint(20) unsigned NOT NULL COMMENT '借款人 ID',   `call_mobile` varchar(20) NOT NULL COMMENT '手機(jī)號(hào)',   `call_name` varchar(20) NOT NULL COMMENT '名稱(chēng)',   `call_sex` varchar(20) NOT NULL COMMENT '性別',   `call_due_date` date NOT NULL COMMENT '應(yīng)還日期',   `call_overdue_day` int(10) NOT NULL COMMENT '逾期天數(shù)(負(fù)數(shù)為貸前催告的天數(shù))',   `call_talking_type` varchar(50) NOT NULL COMMENT '話術(shù) (A:貸前7天的提醒話術(shù) B:貸前3天的話術(shù) C:貸前3天的話術(shù) D:貸前1天的話術(shù) Ps:若話術(shù)為空,則使用的是大唐的話術(shù),其余類(lèi)似due_one之類(lèi)的均已廢棄)',   `call_platform_name` varchar(100) NOT NULL COMMENT '平臺(tái)名稱(chēng)',   `third_party_system` tinyint(3) unsigned NOT NULL COMMENT '第三方IVR系統(tǒng),1 = 百可錄(暫停使用),2 = 大唐,3 = 云電幫(暫停使用), 4 = 科大訊飛, 5 = 基立訊,99 = 決策引擎測(cè)試',   `send_time` datetime DEFAULT NULL COMMENT '發(fā)送時(shí)間',   `send_status` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT '發(fā)送狀態(tài),0 = 未發(fā)送,1 = 發(fā)送成功,2 = 發(fā)送失敗',   `send_result` tinyint(3) DEFAULT '0' COMMENT 'IVR結(jié)果( 0 = 代表無(wú)效接聽(tīng),或者未接聽(tīng),1 = 有效接聽(tīng),已通知用戶)',   `talking_time` int(10) NOT NULL DEFAULT '0' COMMENT '通話時(shí)長(zhǎng)',   `task_id` varchar(32) NOT NULL DEFAULT '0' COMMENT '外呼任務(wù)ID (只為科大訊飛服務(wù))',   `task_data_id` varchar(32) NOT NULL DEFAULT '0' COMMENT '外呼任務(wù)二級(jí)ID (只為科大訊飛服務(wù))',   `resend_num` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT '重發(fā)次數(shù)',   `receive_time` datetime DEFAULT NULL COMMENT '接收時(shí)間',   `receive_content` text COMMENT '接收內(nèi)容',   `unique_tab` varchar(100) DEFAULT NULL COMMENT '唯一標(biāo)識(shí)',   `created_at` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '創(chuàng)建時(shí)間',   `updated_at` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '更新時(shí)間',   PRIMARY KEY (`id`),   KEY `loan_id` (`agentid`,`loan_id`),   KEY `send_result` (`call_mobile`,`send_time`),   KEY `receive_time` (`receive_time`),   KEY `IDX_task_id` (`task_id`),   KEY `IDX_task_data_id` (`task_data_id`) ) ENGINE=InnoDB AUTO_INCREMENT=5292233 DEFAULT CHARSET=utf8 COMMENT='催收自動(dòng)通話表' 1 row in set (0.00 sec)

查看warnings

MySQL隱式類(lèi)型轉(zhuǎn)換導(dǎo)致索引失效

因?yàn)檫@兩列為字符串類(lèi)型 ,但是SQL中并沒(méi)有加引號(hào)??!

`task_id` varchar(32)  `task_data_id` varchar(32)

加上引號(hào)后查看執(zhí)行計(jì)劃

mysql>  explain select task_id FROM mostop_xiaodai_collection_call_auto WHERE task_id = '433423882127424' AND task_data_id =' 27739131157286912'; +----+-------------+-------------------------------------+------------+------+------------------------------+------------------+---------+-------+------+----------+-------------+ | id | select_type | table                               | partitions | type | possible_keys                | key              | key_len | ref   | rows | filtered | Extra       | +----+-------------+-------------------------------------+------------+------+------------------------------+------------------+---------+-------+------+----------+-------------+ |  1 | SIMPLE      | mostop_xiaodai_collection_call_auto | NULL       | ref  | IDX_task_id,IDX_task_data_id | IDX_task_data_id | 98      | const |    1 |     5.00 | Using where | +----+-------------+-------------------------------------+------------+------+------------------------------+------------------+---------+-------+------+----------+-------------+ 1 row in set, 1 warning (0.00 sec)

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

新聞標(biāo)題:MySQL隱式類(lèi)型轉(zhuǎn)換導(dǎo)致索引失效-創(chuàng)新互聯(lián)
標(biāo)題鏈接:http://bm7419.com/article30/ddjhso.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、用戶體驗(yàn)、關(guān)鍵詞優(yōu)化、搜索引擎優(yōu)化、服務(wù)器托管、Google

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化