Py学习  »  DATABASE

多栏mysql索引

Subhash Deshmukh • 6 年前 • 1454 次点击  

我有一个select查询,需要在其中包括以下列(表中几乎所有列):

SELECT  ANI,CALL_ID, DATE_TIME, ABANDON_RATE, CALL_TYPE, CAMPAIGN, CAMPAIGN_TYPE, CUSTOMER_NAME, DISPOSITION, DNIS, LIST_NAME, 
        SESSION_ID, SKILL, AGENT_EMAIL, AGENT_GROUP, THIRD_PARTY_TALK_TIME, AFTER_CALL_WORK_TIME, HOLD_TIME, CALL_TIME, HANDLE_TIME, IVR_TIME,
        MANUAL_TIME, TALK_TIME, QUEUE_WAIT_TIME, advertiserName, affiliateName, callerID, campaignName, ChargentSFA__Biling_Phone__c, CONTACT_CREATE_TIMESTAMP,
        CONTACT_ID, CONTACT_MODIFIED_TIMESTAMP, Date_Added, destinationPhoneNumber, leadsource, number1, salesforce_id, source, transactionID,
        IVR_PATH 
FROM call_data_report 
WHERE ANI= '123456' OR DNIS = '123456' 
ORDER BY DATE_TIME desc;

此查询执行时间太长(超过3分钟)。为了提高查询性能,我在WHERE子句(即ANI和DNIS)中使用的列上创建了一个索引。

create index ani_idx on call_data_report(ANI,DNIS)

但是,当我检查上面的select查询的explain输出时,它显示它没有使用索引。是因为这些柱子吗?我需要创建什么类型的索引来提高上述查询的性能。

注意:ANI和DNI的列中有空值。

谢谢!

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/38863
 
1454 次点击  
文章 [ 2 ]  |  最新文章 6 年前