Running 4.1.22-standard, I have two simple MyISAM tables:

       Table: temp_del_ids
Create Table: CREATE TABLE `temp_del_ids` (
  `cust_id` int(11) NOT NULL default '0',
  PRIMARY KEY  (`cust_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8

and

       Table: cust_campaigns
Create Table: CREATE TABLE `cust_campaigns` (
  `cust_camp_id` int(11) NOT NULL auto_increment,
  `customer_id` int(11) NOT NULL default '0',
  `campaign_date` date NOT NULL default '0000-00-00',
  `campaign_name` char(255) default NULL,
  PRIMARY KEY  (`cust_camp_id`),
  KEY `customer_id` (`customer_id`),
  KEY `campaign_date` (`campaign_date`),
  KEY `campaign_name` (`campaign_name`)
) ENGINE=MyISAM AUTO_INCREMENT=1415388 DEFAULT CHARSET=utf8

`temp_del_ids` has 81 records; `cust_campaigns` has 1052796. Here's my
puzzlement. I checked out two queries, and I don't understand why one of
them is using an index only on my small table, and the other is using
indexes on both.

============================

giiexpress.com >explain select * from cust_campaigns join temp_del_ids
    -> on temp_del_ids.cust_id = cust_campaigns.customer_id\G
*************************** 1. row ***************************
           id: 1
  select_type: SIMPLE
        table: temp_del_ids
         type: index
possible_keys: PRIMARY
          key: PRIMARY
      key_len: 4
          ref: NULL
         rows: 81
        Extra: Using index
*************************** 2. row ***************************
           id: 1
  select_type: SIMPLE
        table: cust_campaigns
         type: ref
possible_keys: customer_id
          key: customer_id
      key_len: 4
          ref: giiexpr_customers.temp_del_ids.cust_id
         rows: 3
        Extra:
=======================
giiexpress.com >explain
    -> select cust_campaigns.customer_id from
    -> cust_campaigns join temp_del_ids
    -> on temp_del_ids.cust_id = cust_campaigns.customer_id\G
*************************** 1. row ***************************
           id: 1
  select_type: SIMPLE
        table: temp_del_ids
         type: index
possible_keys: PRIMARY
          key: PRIMARY
      key_len: 4
          ref: NULL
         rows: 81
        Extra: Using index
*************************** 2. row ***************************
           id: 1
  select_type: SIMPLE
        table: cust_campaigns
         type: ref
possible_keys: customer_id
          key: customer_id
      key_len: 4
          ref: giiexpr_customers.temp_del_ids.cust_id
         rows: 3
        Extra: Using index
======================

Am I right to be surprised, or am I just misinterpreting what's going on?

Regards,
 
Jerry Schwartz
The Infoshop by Global Information Incorporated
195 Farmington Ave.
Farmington, CT 06032
 
860.674.8796 / FAX: 860.674.8341
 
www.the-infoshop.com
www.giiexpress.com
www.etudes-marche.com






-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/mysql?unsub=arch...@jab.org

Reply via email to