kurbsdude Posted September 10, 2009 Share Posted September 10, 2009 I have a problem. I have a table as follows id date name .. .. .. I have indexed this table with date But my mysql query is such that it has to get rows WHERE date <= yesterday After checking this query with EXPLAIN I found out that this query is reading the whole table and not the only ones that have date <= yesterday (index not working at all?) How can this be solved? thanks Quote Link to comment https://forums.phpfreaks.com/topic/173750-indexing-for-comparators/ Share on other sites More sharing options...
Daniel0 Posted September 10, 2009 Share Posted September 10, 2009 Can you show the EXPLAIN output and the output of SHOW CREATE TABLE? Quote Link to comment https://forums.phpfreaks.com/topic/173750-indexing-for-comparators/#findComment-915908 Share on other sites More sharing options...
kurbsdude Posted September 10, 2009 Author Share Posted September 10, 2009 Here's my syntax: SELECT * FROM name WHERE (date <= '09-09-09 08:45:25') ORDER BY date DESC and the explain output: id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE name ALL date,date_2 NULL NULL NULL 4870 Using where; Using filesort *edit and total number of rows = 4870 so basically it's reading all rows Quote Link to comment https://forums.phpfreaks.com/topic/173750-indexing-for-comparators/#findComment-915917 Share on other sites More sharing options...
Daniel0 Posted September 10, 2009 Share Posted September 10, 2009 Yeah, but what about SHOW CREATE TABLE name;? Quote Link to comment https://forums.phpfreaks.com/topic/173750-indexing-for-comparators/#findComment-915923 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.