假设table表中有两列,number1 和number2
table表中有1000W条数据 number1列中随机存入1到1000W的数 number2中存出入1 或2
number1是主键 现在我执行sql语句 select * from table where number1=20 或者执行select * from table where number1=20 and number2=1(已知number1=20的列number2=1) 问第二个sql语句会不会比第一个sql语句快,或者慢
table表中有1000W条数据 number1列中随机存入1到1000W的数 number2中存出入1 或2
number1是主键 现在我执行sql语句 select * from table where number1=20 或者执行select * from table where number1=20 and number2=1(已知number1=20的列number2=1) 问第二个sql语句会不会比第一个sql语句快,或者慢
解决方案 »
- 请教!!
- 请教:海量数据库联机数据与归档数据的规划策略
- 怪事?
- 请教高手组织一条SQL语句
- 求一存储过程
- 郁闷,从SQL SERVER存储过程转到ORACLE来,没写一个都有问题,帮忙看看
- 用MS SQLSERVER DTS 将数据导入ORACLE中为何先要将表名改为大写?
- 过程编译出错--oracle入门问题求解
- 谁能解决这个问题?谢谢了!
- 关于Oracle8i for NT 备份首选身份问题
- exists 的用法?
- 小女子求教oracle问题,独立启动模式进去。scott/tiger/sysdba. 进入后,打开sql/plus worksheet,以 connect scott/tiger as sysdba提示已连接
解释为number1=20只加这个条件的话还要判断number2是否=1,所以 还耗费了这点时间。
所以得到结论第二个语句比第一个快!
任何SQL语句的执行都会换算成一个cost看cost大小即可
如果是猜测, 我觉得1快
当然区别也是有的,但是只有一点点,那就是第二个语句得出结果后还有再判断下 number2的情况,会多这么一个filter,不过这个时间很短,几乎可以忽略。
你有plsql developer吗?
有的话写好sql直接按F5就行了, 既有执行计划又有代价