select * 和 select 列名,后者可以使查询时尽量少的数据行扫描吗? 如题,有没有权威测试数据,谢谢。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 也许你理解错了,两者的关键是跟扫描行数是没关系的,区别在于解析。对于少量的数据表来说,两者没什么区别;如果数据量大了的话,前者在解析SQL时消耗较多资源,因为Oracle会根据数据字典将*转换成具体的列名。 题目有错误.对于oracle来说,读取的数据是以块为单位的,也就说不论你取不取某列的数据,它都会被取到内存,只要它符合筛选条件. --select * 和 select 列名,后者可以使查询时尽量少的数据行扫描吗?--都是全表扫描,都是access by rowid--所以扫描的行数都是一样的--如果有where检索条件,或许会根据具有index的列来检索,那就不会是全表扫描了 select 列名比 select * 减少了对数据字典进行列转移的记录块的读取,应该能理解为减少了对数据字典的数据行的扫描。 select * 和 select 列名,后者可以使查询时尽量少的数据行扫描吗?不会 developer的sql执行面板下方有个执行时间的,可以比较啊。 当然不会了扫描数据的多少跟你的select项米有关系吧,只不过select * 要走字典,理论上比select具体项目要费时间 也许你理解错了,两者的关键是跟扫描行数是没关系的,区别在于解析。对于少量的数据表来说,两者没什么区别;如果数据量大了的话,前者在解析SQL时消耗较多资源,因为Oracle会根据数据字典将*转换成具体的列名。 为什么oracle 查询的时候 必须选择记录条数最少的表作为基础表? 基于Oracle 11g select语句的学习贴 关于oracle的shutdown操作。。。 大家帮帮我啊,ORACLE 存储过程TEXT_IO,总是编绎不通过 SQL索引的问题 about snapshot oracle explain plan不能把所有的列显示出来 如何向现有的数据库中中导入数据表? Win2000怎么装不上Oracle9i??不怎么是怎么回事??在线等???? 怎样停机维护好? oracle发送邮件 ORACLE 进入间置的执行处理
对于少量的数据表来说,两者没什么区别;如果数据量大了的话,前者在解析SQL时消耗较多资源,因为Oracle会根据数据字典将*转换成具体的列名。
对于oracle来说,读取的数据是以块为单位的,也就说不论你取不取某列的数据,它都会被取到内存,只要它符合筛选条件.
--select * 和 select 列名,后者可以使查询时尽量少的数据行扫描吗?
--都是全表扫描,都是access by rowid
--所以扫描的行数都是一样的
--如果有where检索条件,或许会根据具有index的列来检索,那就不会是全表扫描了
扫描数据的多少跟你的select项米有关系吧,
只不过select * 要走字典,理论上比select具体项目要费时间
对于少量的数据表来说,两者没什么区别;如果数据量大了的话,前者在解析SQL时消耗较多资源,因为Oracle会根据数据字典将*转换成具体的列名。