一个名为ed2表中有10万条数据.
实现的功能: 查找有没id=20001的记录.
有2种方法:
1:select * from ed2 where id=200012:
用一个循环(模拟)
select id from ed2
将每次取出的id值与20001比较我想请问一下,这两种方法哪个会快点,原因为什么呢?
实现的功能: 查找有没id=20001的记录.
有2种方法:
1:select * from ed2 where id=200012:
用一个循环(模拟)
select id from ed2
将每次取出的id值与20001比较我想请问一下,这两种方法哪个会快点,原因为什么呢?
解决方案 »
- 再发 行转列通用过程
- oracl中update的相关问题
- Oracle10g无网线不能进入页面的问题
- linux下执行oracle的dbstart,提示Can't find init file for Database "guandadb".
- 如何在自定义错误信息中完全去掉oracle的信息?
- 我这简单Oracle存储过程错误在哪?
- 通过imp导入一个没有数据的dmp文件(3M左右),本来还有2048M的表空间一下就满了?
- ===========数据恢复~~急急急===========
- oracle不定行列统计
- sysdba登陆不进去,,其他用户可以登陆
- 求Oracle带索引的chm帮助文档!!
- 怎样使程序能在9i和10g上运行
但开游标,游标循环,关游标也耗资源.也不好说.
然后试试看不就知道了
这个找有没有id=20001的好,找不到则为空
也可以这样:select count(id) from ed2 where id=20001
这样的话,没找到就是0,
select count(*) from dual where exists (select id from ed2 where id=20001)如果id上有索引,就看执行计划是否使用到了索引,如果没有,就加索引提示。最好是用index_ffs提示,只扫描索引不扫描表。
我觉得用游标更耗资源、时间。