[Spce-user] DBCleaner - not using index.
    Walter Klomp 
    walter at myrepublic.com.sg
       
    Sun Jun 12 22:03:29 EDT 2016
    
    
  
Hi,
I just saw DBCleaner in slow queries taking a lot of time as MySQL is not using the index because of the from_unixtime instead of the actual unixtime…  (40 seconds or more)
mysql> explain select id from cdr where from_unixtime(start_time) >= '2016-01-01 00:00:00' and from_unixtime(start_time) < date_add('2016-01-01 00:00:00', interval 1 month)  limit 10000;
+----+-------------+-------+-------+---------------+-----------+---------+------+---------+--------------------------+
| id | select_type | table | type  | possible_keys | key       | key_len | ref  | rows    | Extra                    |
+----+-------------+-------+-------+---------------+-----------+---------+------+---------+--------------------------+
|  1 | SIMPLE      | cdr   | index | NULL          | stime_idx | 7       | NULL | 6064490 | Using where; Using index |
+----+-------------+-------+-------+---------------+-----------+---------+------+---------+—————————————+
it’s better to convert the 2016-01-01 00:00:00 to the unixtime and then put that value in the where… that will make MySQL use the index.
Thanks
Walter.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sipwise.com/mailman/private/spce-user_lists.sipwise.com/attachments/20160613/a0550c86/attachment.html>
    
    
More information about the Spce-user
mailing list