6 messages in com.mysql.lists.mysqlIs this an inefficient query?
FromSent OnAttachments
Jay Blanchard02 Jun 2003 05:58 
Jay Blanchard02 Jun 2003 06:06 
Jay Blanchard02 Jun 2003 07:10 
Michael T. Babcock02 Jun 2003 07:39 
Giorgos Gaganis02 Jun 2003 08:06 
Jay Blanchard02 Jun 2003 09:02 
Subject:Is this an inefficient query?
From:Jay Blanchard (jay.@niicommunications.com)
Date:06/02/2003 05:58:36 AM
List:com.mysql.lists.mysql

I am having some frustrations with a group of queries on one table in my database. Queries to other tables seem to proceed smoothly enough. This group of queries (6 in total) is called from a PHP page for a report, there are millions of records.

Here is an example of one of the queries...

SELECT COUNT(cdr.ani) AS qtyout, SUM(cdr.calldur/60) AS minout FROM tblCDR cdr LEFT OUTER JOIN CDRFilter e ON cdr.ani = e.phoneNumber WHERE e.phoneNumber IS NULL AND cdr.pindigs = '' AND cdr.predig <> '2' AND cdr.predig <> '3' AND cdr.dialedno NOT LIKE '800%' AND cdr.dialedno NOT LIKE '866%' AND cdr.dialedno NOT LIKE '877%' AND cdr.dialedno NOT LIKE '888%' AND cdr.discn_dt <= '2003-05-25' AND cdr.billed_flag = ''

here is the structure info for the primary table

CREATE TABLE tblCDR ( id int(11) NOT NULL auto_increment, discn_dt varchar(10) default NULL, anstype varchar(6) default NULL, pindigs varchar(4) default NULL, orig_time varchar(6) default NULL, discn_time varchar(6) default NULL, time_chng char(1) default NULL, ani varchar(15) default NULL, infodig char(2) default NULL, calldur int(11) default NULL, dialedno varchar(15) default NULL, calledno varchar(15) default NULL, predig char(1) default NULL, orig_dt varchar(10) default NULL, acctcd varchar(12) default NULL, prcmp_id varchar(6) default NULL, comp_grp_cd char(2) default NULL, comp_grp_val varchar(24) default NULL, intra_lata_ind char(1) default NULL, portedno varchar(10) default NULL, lnpcheck char(1) default NULL, whole_record text, FileName varchar(32) NOT NULL default '', billed_flag varchar(10) default NULL, cycle_flag varchar(10) default NULL, PRIMARY KEY (id), KEY discn_dt (discn_dt), KEY billed_flag (billed_flag), KEY dialedno (dialedno), KEY predig (predig), KEY FileName (FileName), KEY ani (ani), KEY calldur (calldur) ) TYPE=MyISAM MAX_ROWS=1000000000 AVG_ROW_LENGTH=600;

Can anyone see something that I may be doing incorrectly or inefficiently? It is driving me nuts.

Thanks!

Jay