两个用于排序时间戳日期的sql
发布时间:2020-12-12 07:07:39 所属栏目:MsSql教程 来源:网络整理
导读:我有98w行数据.当我想用pub_time对数据进行排序时,我发现了一件有趣的事情. 这是SQL: select * from t_p_blog_article_info t order by t.pub_time desc 它花了19s. select * from t_p_blog_article_info t where t.pub_time to_date( '1900-01-01 01:00:00'
我有98w行数据.当我想用pub_time对数据进行排序时,我发现了一件有趣的事情.
这是SQL: select * from t_p_blog_article_info t order by t.pub_time desc 它花了19s. select * from t_p_blog_article_info t where t.pub_time > to_date( '1900-01-01 01:00:00','yyyy-mm-dd hh24:mi:ss ') order by t.pub_time desc 它的成本为0.2秒. 我想知道,为什么? 解决方法您可能在表上有pub_time索引.因此,第二个查询可以使用此索引仅返回指定日期之后具有非空日期的记录,而第一个查询必须查询整个表. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Sqlserver表类型和表变量
- SqlServer转换为Mysql的一款工具推荐(mss2sql)
- sql – 在插入访问NEW后的Postgres触发器
- SQLSERVER2000 用过程来模拟MDX分析报表的效果(2)
- 数据库 – 解决CouchDB中已删除文档的复制冲突
- Sql Server 2005 实现分页存储过程新方法
- linq-to-entities – LINQ“.Include”orderby in subquery
- 解决: sqlserver登陆时, 出现服务器主体 "xxx" 无法
- sqlserver 2005局域网连接不上 解决
- sql-server – 更新Windows后出现SqlClient错误 – “传入的