All pastes #976629 Raw Edit

Anonymous

public text v1 · immutable
·published 2008-04-08 10:09 UTC
rendered paste body
mysql> SHOW CREATE TABLE lb_link\G;
*************************** 1. row ***************************
       Table: lb_link
Create Table: CREATE TABLE `lb_link` (
  `link_id` int(10) NOT NULL auto_increment,
  `link_partner_id` int(10) NOT NULL default '0',
  `link_site_id` int(10) NOT NULL default '0',
  `link_linkback_url` varchar(255) character set utf8 NOT NULL default '',
  `link_status` int(5) NOT NULL default '0',
  `link_created_on` datetime NOT NULL default '0000-00-00 00:00:00',
  `link_modified_on` datetime NOT NULL default '0000-00-00 00:00:00',
  `link_created_by` int(10) NOT NULL default '0',
  `link_modified_by` int(10) NOT NULL default '0',
  PRIMARY KEY  (`link_id`),
  UNIQUE KEY `link_partner_id` (`link_partner_id`,`link_site_id`),
  KEY `link_linkback_url` (`link_linkback_url`),
  KEY `link_site_id` (`link_site_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
1 row in set (0.00 sec)


mysql> SHOW CREATE TABLE lb_partner\G;
*************************** 1. row ***************************
       Table: lb_partner
Create Table: CREATE TABLE `lb_partner` (
  `partner_id` int(10) NOT NULL auto_increment,
  `partner_category` int(4) NOT NULL default '0',
  `partner_language` varchar(2) character set utf8 NOT NULL default 'en',
  `partner_name` varchar(128) character set utf8 NOT NULL default 'link',
  `partner_description` text character set utf8,
  `partner_url` text character set utf8 NOT NULL,
  `partner_email` text character set utf8,
  `partner_form` varchar(255) character set utf8 NOT NULL default '',
  `partner_old_id` int(10) default NULL,
  `partner_created_on` datetime NOT NULL default '0000-00-00 00:00:00',
  `partner_modified_on` datetime NOT NULL default '0000-00-00 00:00:00',
  `partner_created_by` int(10) NOT NULL default '0',
  `partner_modified_by` int(10) NOT NULL default '0',
  PRIMARY KEY  (`partner_id`),
  KEY `partner_category` (`partner_category`),
  KEY `partner_form` (`partner_form`),
  KEY `partner_language` (`partner_language`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
1 row in set (0.00 sec)

The slow queries:
Ordering by link_id takes 4x the time and it has 12,000,000 rows

# Time: 080408 17:46:46
# User@Host: link_builder[link_builder] @ localhost []
# Query_time: 24  Lock_time: 0  Rows_sent: 0  Rows_examined: 4675
SELECT  partner_name, partner_url, partner_description FROM lb_link LEFT JOIN lb_partner ON link_partner_id = partner_id WHERE link_site_id = 576 AND partner_category = '3' AND partner_language = 'jp' AND link_status IN (1,2)   LIMIT 1120, 40;
# Time: 080408 17:47:45
# User@Host: link_builder[link_builder] @ localhost []
# Query_time: 20  Lock_time: 0  Rows_sent: 40  Rows_examined: 10079
SELECT  partner_name, partner_url, partner_description FROM lb_link LEFT JOIN lb_partner ON link_partner_id = partner_id WHERE link_site_id = 130 AND partner_category = '2' AND partner_language = 'jp' AND link_status IN (1,2)   LIMIT 4400, 40;


mysql> explain SELECT  partner_name, partner_url, partner_description FROM lb_link LEFT JOIN lb_partner ON link_partner_id = partner_id WHERE link_site_id = 425 AND partner_category = '2' AND partner_language = 'jp' AND link_status IN (1,2)   LIMIT 1640, 40;
+----+-------------+------------+--------+-------------------------------------------+------------------+---------+------------------------------------------+------+-------------+
| id | select_type | table      | type   | possible_keys                             | key              | key_len | ref                                      | rows | Extra       |
+----+-------------+------------+--------+-------------------------------------------+------------------+---------+------------------------------------------+------+-------------+
|  1 | SIMPLE      | lb_partner | ref    | PRIMARY,partner_category,partner_language | partner_category | 4       | const                                    | 5998 | Using where | 
|  1 | SIMPLE      | lb_link    | eq_ref | link_partner_id,link_site_id              | link_partner_id  | 8       | link_builder.lb_partner.partner_id,const |    1 | Using where | 
+----+-------------+------------+--------+-------------------------------------------+------------------+---------+------------------------------------------+------+-------------+
2 rows in set (2.00 sec)