请教datetime类型索引问题
答案:2 悬赏:40 手机版
解决时间 2021-01-27 17:08
- 提问者网友:人傍凄凉立暮秋
- 2021-01-27 01:56
请教datetime类型索引问题
最佳答案
- 五星知识达人网友:不想翻身的咸鱼
- 2021-01-27 03:19
如果你用的是sql server 2008的话不用转换就能直接比较 sql server 2005 没试过不知道
转换的方法:
sql 中:
select convert (datetime,\\'07/22/1986\\')
select cast( \\'07/22/1986\\' as datetime)
Oracle 中
select to_date(date_time_string,\\'yyyy-MM-dd\\') from table_name
你试试吧
转换的方法:
sql 中:
select convert (datetime,\\'07/22/1986\\')
select cast( \\'07/22/1986\\' as datetime)
Oracle 中
select to_date(date_time_string,\\'yyyy-MM-dd\\') from table_name
你试试吧
全部回答
- 1楼网友:渡鹤影
- 2021-01-27 04:38
这就是oracle cbo优化器的聪明之处了。
在oracle 的官方文档有这样的话:
create an index if you frequently want to retrieve less than about 15% of the
rows in a large table.
意思就是如果你检索的数据占整个表数据的15%以下的时候建索引。
也就是说一般情况下如果你查询的数据占表数据的15%以下的时候,用索引会比全表扫描效率高。如果超过15%的话可能就是全表扫描的效率更好!当然这个15%也不是固定的,也要根据不同情况来分!
而oracle 的cbo优化器会自动根据表的统计数据和你要检索的数据,去分析是用索引的效率更高还是全表扫描的效率更高。
如果一定要用索引的话,那就加个hints吧!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯