6 messages in com.mysql.lists.mysqlIs this an inefficient query?| From | Sent On | Attachments |
|---|---|---|
| Jay Blanchard | 02 Jun 2003 05:58 | |
| Jay Blanchard | 02 Jun 2003 06:06 | |
| Jay Blanchard | 02 Jun 2003 07:10 | |
| Michael T. Babcock | 02 Jun 2003 07:39 | |
| Giorgos Gaganis | 02 Jun 2003 08:06 | |
| Jay Blanchard | 02 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




