MySql优化2

小九最近要进行一些sql优化,特开此文记录

1.时间索引的使用

  问题:查询一个特大表今日数据(今日有索引)

  原SQL: SELECT * FROM test_table WHERE (to_days(`create_time `) = to_days(now()));

  修改后: SELECT * FROM test_table WHERE create_time >= current_date();

 

  

 

  关联知识:

now(), current_timestamp();     -- 当前日期时间
current_date();                    -- 当前日期
current_time();                    -- 当前时间
date('yyyy-mm-dd hh:ii:ss');    -- 获取日期部分
time('yyyy-mm-dd hh:ii:ss');    -- 获取时间部分
date_format('yyyy-mm-dd hh:ii:ss', '%d %y %a %d %m %b %j');    -- 格式化时间
unix_timestamp();                -- 获得unix时间戳
from_unixtime();                -- 从时间戳获得时间
DATE(DATE_SUB(NOW(), INTERVAL 1 DAY))  --返回一天之前的日期

 补充: 查看表格全部索引(show index from tbname;)

posted @ 2020-12-24 19:05  一个九  阅读(58)  评论(0编辑  收藏  举报