Then do u mean if there is low cardinality index will not be used?. Regards, Naga On Thu, Sep 18, 2008 at 2:41 PM, chandru <[EMAIL PROTECTED]>wrote:
> Hi nagaraj, > sorry.. Since the cardinality is low MySQL has chosen *not to use* a Index > that can give the best performance. i missed that. > > > Regards, > Pradeep chandru. > > > > Nagaraj S wrote: > >> Pradeep, >> Can you be clear on your statement. Becoz i read in few links if the >> cardinality is low also mysql doen't use the index. It depends up on the >> where condition used.. >> Regards, >> Naga. >> >> On Thu, Sep 18, 2008 at 12:22 PM, chandru <[EMAIL PROTECTED]<mailto: >> [EMAIL PROTECTED]>> wrote: >> >> Hi Dilip, >> I dont think forcing MySQL to use Index can improve your >> performance. MySQL decides on the index to be used based on the >> cardinality. Since the cardinality is low MySQL has chosen a Index >> that can give the best performance. Forcing that can only increase >> the volume of data that is fetched. >> >> Regards, >> Pradeep chandru. >> >> >> >> Parikh, Dilip Kumar wrote: >> >>> Hi johan, >>> >>> U can use and try to write a query to use index in it (like use >>> index(index name) before where condition. >>> And other variables also looks like ok seems let me check, Please try >>> to send the output of global status. >>> >>> Show global status; >>> >>> >>> >>> Thanks & Regards, >>> Dilipkumar >>> >>> -----Original Message----- >>> From: chandru [mailto:[EMAIL PROTECTED] Sent: >>> Thursday, September 18, 2008 11:36 AM >>> To: Johan Thorvaldsson >>> Cc: mysql@lists.mysql.com <mailto:mysql@lists.mysql.com> >>> Subject: Re: Fwd: Why dont my query use the index keys? >>> >>> Hi Johan, >>> the query is going for a temporary table creation "Using temporary; >>> Using filesort" >>> >>> In case your sort_buffer_size is too low please try increasing the >>> same. Be cautious don't try to increase it massively, since it is a per >>> thread memory allocation. >>> >>> please let me know what is your sort_buffer_size by using the command >>> show global variables like 'sort%'; >>> >>> >>> >>> Regards, >>> Pradeep Chandru. >>> >>> >>> Johan Thorvaldsson wrote: >>> >>> >>>> So query and index:es are ok ? Because the query runs very slow. >>>> >>>> Vidarebefordrat brev: >>>> >>>> >>>> >>>>> Från: "Ananda Kumar" <[EMAIL PROTECTED]> <mailto:[EMAIL PROTECTED]> >>>>> >>>>> Datum: ti 16 sep 2008 13.19.43 GMT+02:00 >>>>> Till: "Johan Thorvaldsson" <[EMAIL PROTECTED]> <mailto: >>>>> [EMAIL PROTECTED]> >>>>> Kopia: mysql@lists.mysql.com <mailto:mysql@lists.mysql.com> >>>>> Ämne: Re: Why dont my query use the index keys? >>>>> >>>>> Hi Johan, >>>>> Its doing a range based search, so its using index. >>>>> >>>>> regards >>>>> anandkl >>>>> >>>>> >>>>> On 9/16/08, Johan Thorvaldsson <[EMAIL PROTECTED]> <mailto: >>>>> [EMAIL PROTECTED]> wrote: >>>>> But this one doesnt use any indexes? >>>>> SIMPLE tm range is_active,ad_id,tag_id * tag_id* 4 >>>>> NULL 15353 Using where; Using temporary; Using filesort >>>>> >>>>> Thanks for your replies. >>>>> >>>>> Vidarebefordrat brev: >>>>> >>>>> Från: chandru <[EMAIL PROTECTED]> <mailto: >>>>> [EMAIL PROTECTED]> >>>>> Datum: ti 16 sep 2008 10.13.53 GMT+02:00 >>>>> Till: Johan Thorvaldsson <[EMAIL PROTECTED]> <mailto: >>>>> [EMAIL PROTECTED]> >>>>> Kopia: mysql@lists.mysql.com <mailto:mysql@lists.mysql.com> >>>>> >>>>> Ämne: Re: Why dont my query use the index keys? >>>>> >>>>> >>>>> Hi johan, >>>>> i find that the query is using a index already. >>>>> Explain version: >>>>> 1 SIMPLE tm range is_active,ad_id,tag_id * tag_id* >>>>> 4 NULL 15353 Using where; Using temporary; Using filesort >>>>> 1 SIMPLE ad eq_ref >>>>> PRIMARY,ad_id,is_removed,is_active,whitelisted,ant_feedback_alert >>>>> *PRIMARY* 4 rubbt.tm.ad_id 1 >>>>> I have bold the index names that are being used. Can you please >>>>> clarify is that the one you are trying to find? >>>>> >>>>> Regards, >>>>> Pradeep Chandru. >>>>> >>>>> >>>>> >>>>> >>>>> Johan Thorvaldsson wrote: >>>>> AD >>>>> >>>>> Create Table: CREATE TABLE `ad` ( >>>>> `ad_id` int(11) NOT NULL auto_increment, `ad_key` varchar(32) >>>>> collate utf8_swedish_ci NOT NULL default '', `pris` varchar(32) >>>>> collate >>>>> utf8_swedish_ci NOT NULL default '', `pris_original` varchar(32) >>>>> collate >>>>> utf8_swedish_ci NOT NULL default '', `dt_pub` datetime NOT NULL >>>>> default >>>>> '0000-00-00 00:00:00', `dt_updated` datetime NOT NULL default >>>>> '0000-00-00 00:00:00', `ad_password` varchar(32) collate >>>>> utf8_swedish_ci >>>>> NOT NULL default '', `adtext` text collate utf8_swedish_ci NOT NULL, >>>>> `unique_key` varchar(32) collate utf8_swedish_ci NOT NULL default '', >>>>> `is_removed` int(11) NOT NULL default '0', `is_active` int(11) NOT >>>>> NULL >>>>> default '0', `num_images` int(11) default NULL, `sh_phone` int(11) >>>>> default '0', `postalcode` varchar(32) collate utf8_swedish_ci default >>>>> NULL, `ad_url` varchar(128) collate utf8_swedish_ci NOT NULL default >>>>> '', `source_id` int(11) default '0', `youtube_link` text collate >>>>> utf8_swedish_ci, `ad_sections` varchar(128) collate utf8_swedish_ci >>>>> default NULL, `flickr_link` text collate utf8_swedish_ci, >>>>> `ant_feedback_good` int(32) default '0', `ant_feedback_alert` int(32) >>>>> default '0', `whitelisted` int(11) default '0', `adtext_plain` text >>>>> collate utf8_swedish_ci NOT NULL, `dt_img_path` datetime NOT NULL >>>>> default '0000-00-00 00:00:00', PRIMARY KEY (`ad_id`), KEY `sortkey` >>>>> (`dt_pub`,`pris`), KEY `webbid` (`ad_key`), KEY `ad_id` (`ad_id`) >>>>> ) ENGINE=MyISAM AUTO_INCREMENT=18721 DEFAULT CHARSET=utf8 >>>>> COLLATE=utf8_swedish_ci >>>>> >>>>> >>>>> >>>>> +-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+ >>>>> >>>>> | Table | Non_unique | Key_name | Seq_in_index | Column_name | >>>>> Collation | Cardinality | Sub_part | Packed | Null | Index_type | >>>>> Comment | >>>>> >>>>> >>>>> +-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+ >>>>> >>>>> | ad | 0 | PRIMARY | 1 | ad_id | A >>>>> | 18691 | NULL | NULL | | BTREE | >>>>> | >>>>> | ad | 1 | sortkey | 1 | dt_pub | A >>>>> | 3115 | NULL | NULL | | BTREE | >>>>> | >>>>> | ad | 1 | sortkey | 2 | pris | A >>>>> | 3115 | NULL | NULL | | BTREE | >>>>> | >>>>> | ad | 1 | webbid | 1 | ad_key | A >>>>> | 18691 | NULL | NULL | | BTREE | >>>>> | >>>>> | ad | 1 | ad_id | 1 | ad_id | A >>>>> | 18691 | NULL | NULL | | BTREE | >>>>> | >>>>> >>>>> >>>>> +-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+ >>>>> >>>>> >>>>> >>>>> Tag_ad_map >>>>> Create Table: CREATE TABLE `tag_ad_map` ( `ad_id` int(11) NOT NULL >>>>> default '0', `tag_id` int(11) NOT NULL default '0', `termfreq` >>>>> int(11) NOT NULL default '0', `weight` int(11) NOT NULL default '0', >>>>> `is_active` int(11) NOT NULL default '0', PRIMARY KEY >>>>> (`tag_id`,`ad_id`), KEY `tag_id` (`tag_id`), KEY `ad_id` (`ad_id`) >>>>> ) ENGINE=MyISAM DEFAULT CHARSET=utf8 >>>>> >>>>> >>>>> >>>>> +------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+ >>>>> >>>>> | Table | Non_unique | Key_name | Seq_in_index | Column_name | >>>>> Collation | Cardinality | Sub_part | Packed | Null | Index_type | >>>>> Comment | >>>>> >>>>> >>>>> +------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+ >>>>> >>>>> | tag_ad_map | 0 | PRIMARY | 1 | tag_id | >>>>> A | 35921 | NULL | NULL | | BTREE | >>>>> | >>>>> | tag_ad_map | 0 | PRIMARY | 2 | ad_id | >>>>> A | 215531 | NULL | NULL | | BTREE | >>>>> | >>>>> | tag_ad_map | 1 | tag_id | 1 | tag_id | >>>>> A | 35921 | NULL | NULL | | BTREE | >>>>> | >>>>> | tag_ad_map | 1 | ad_id | 1 | ad_id | >>>>> A | 17960 | NULL | NULL | | BTREE | >>>>> | >>>>> >>>>> >>>>> +------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+ >>>>> >>>>> >>>>> 16 sep 2008 kl. 09.01 skrev Ananda Kumar: >>>>> >>>>> can u please do >>>>> >>>>> show index for ad; >>>>> >>>>> show index for tag_ad_map; >>>>> >>>>> and past the output. I am not able to understand the index setup on >>>>> these two tables. >>>>> >>>>> regards >>>>> anandkl >>>>> >>>>> >>>>> On 9/15/08, Johan Thorvaldsson <[EMAIL PROTECTED]> <mailto: >>>>> [EMAIL PROTECTED]> wrote: >>>>> My query dont use the indexes for the 2 tables that I have joined. >>>>> Is there someone nice and helpful that could help me optimize this >>>>> query >>>>> and make it use the indexes? >>>>> >>>>> Query: >>>>> >>>>> SELECT SQL_NO_CACHE COUNT(*) antal, ad.ad_url, ad.adtext_plain FROM >>>>> ad >>>>> >>>>> LEFT JOIN tag_ad_map tm ON tm.ad_id=ad.ad_id >>>>> >>>>> WHERE tm.tag_id IN (99, 10807, 20728, 447, 807) >>>>> >>>>> AND ad.is_removed = 0 AND ad.is_active=1 AND (ad.ant_feedback_alert >>>>> <= 5 OR ad.whitelisted = 1) AND tm.is_active=1 AND ad.ad_id != 13687 >>>>> GROUP BY ad.ad_id ORDER BY antal DESC LIMIT 10; >>>>> >>>>> Explain version: >>>>> 1 SIMPLE tm range is_active,ad_id,tag_id tag_id >>>>> 4 NULL 15353 Using where; Using temporary; Using filesort >>>>> 1 SIMPLE ad eq_ref >>>>> PRIMARY,ad_id,is_removed,is_active,whitelisted,ant_feedback_alert >>>>> PRIMARY 4 rubbt.tm.ad_id 1 Using where >>>>> >>>>> Indexes: >>>>> ad 0 PRIMARY 1 ad_id A 18679 NULL >>>>> NULL BTREE >>>>> ad 1 is_removed 1 is_removed A 1 >>>>> NULL NULL BTREE >>>>> ad 1 is_active 1 is_active A 1 >>>>> NULL NULL BTREE >>>>> ad 1 source_id 1 source_id A 3 >>>>> NULL NULL YES BTREE >>>>> ad 1 whitelisted 1 whitelisted A 1 >>>>> NULL NULL YES BTREE >>>>> ad 1 ant_feedback_alert 1 >>>>> ant_feedback_alert A 1 NULL NULL YES BTREE >>>>> ad 1 dt_pub 1 dt_pub A 3113 NULL >>>>> NULL BTREE >>>>> ad 1 dt_updated 1 dt_updated A >>>>> 3113 NULL NULL BTREE >>>>> ad 1 ad_url 1 ad_url A 18679 NULL >>>>> NULL BTREE >>>>> ad 1 adtext_plain 1 adtext_plain NULL >>>>> 1 NULL NULL FULLTEXT >>>>> >>>>> >>>>> >>>>> --------------------------------------------------------------------- >>>>> Montania System AB >>>>> Halmstad >>>>> http://www.montania.se <http://www.montania.se/> >>>>> >>>>> Johan Thorvaldsson >>>>> [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> >>>>> >>>>> Kristinebergsvägen 17, S-30241 HALMSTAD Telefon +46(0)35-13 68 00 | >>>>> Fax +46(0)35-13 68 01 >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> --------------------------------------------------------------------- >>>>> Montania System AB >>>>> Halmstad >>>>> http://www.montania.se <http://www.montania.se/> >>>>> >>>>> Johan Thorvaldsson >>>>> [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> >>>>> >>>>> Kristinebergsvägen 17, S-30241 HALMSTAD Telefon +46(0)35-13 68 00 | >>>>> Fax +46(0)35-13 68 01 >>>>> >>>>> >>>>> >>>>> >>>>> ********** DISCLAIMER ********** >>>>> Information contained and transmitted by this E-MAIL is proprietary >>>>> to Sify Limited and is intended for use only by the individual or >>>>> entity to which it is addressed, and may contain information that is >>>>> privileged, confidential or exempt from disclosure under applicable >>>>> law. >>>>> If this is a forwarded message, the content of this E-MAIL may not have >>>>> been sent with the authority of the Company. If you are not the >>>>> intended >>>>> recipient, an agent of the intended recipient or a person responsible >>>>> for >>>>> delivering the information to the named recipient, you are notified >>>>> that >>>>> any use, distribution, transmission, printing, copying or dissemination >>>>> of this information in any way or in any manner is strictly prohibited. >>>>> If you have received this communication in error, please delete this >>>>> mail >>>>> & notify us immediately at [EMAIL PROTECTED] <mailto: >>>>> [EMAIL PROTECTED]> >>>>> >>>>> >>>>> >>>>> >>>>> --------------------------------------------------------------------- >>>>> Montania System AB >>>>> Halmstad >>>>> http://www.montania.se <http://www.montania.se/> >>>>> >>>>> Johan Thorvaldsson >>>>> [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> >>>>> >>>>> Kristinebergsvägen 17, S-30241 HALMSTAD Telefon +46(0)35-13 68 00 | >>>>> Fax +46(0)35-13 68 01 >>>>> >>>>> >>>>> >>>>> >>>> --------------------------------------------------------------------- >>>> Montania System AB >>>> Halmstad >>>> http://www.montania.se <http://www.montania.se/> >>>> >>>> Johan Thorvaldsson >>>> [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> >>>> >>>> Kristinebergsvägen 17, S-30241 HALMSTAD Telefon +46(0)35-13 68 00 | >>>> Fax +46(0)35-13 68 01 >>>> >>>> >>>> >>>> >>> -- >>> MySQL General Mailing List >>> For list archives: http://lists.mysql.com/mysql >>> To unsubscribe: >>> http://lists.mysql.com/[EMAIL PROTECTED] >>> >>> >>> >>> >> >> >>