锁定老帖子 主题:Oracle 常用SQL技巧收藏
精华帖 (0) :: 良好帖 (11) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-03-14
很不错了,我再添加一个,通配符的使用如 select * from XXX where col like 'N%' (使用索引) ,select * from XXX where col like '%N' (不使用索引,会进行全表示扫描)
|
|
返回顶楼 | |
发表时间:2011-03-15
denger 写道 aladdin181 写道 做着不要误导人
用下面这个 3.删除重复记录 最高效的删除重复记录方法 ( 因为使用了ROWID) Sql代码 1.DELETE FROM EMP E WHERE E.ROWID > (SELECT MIN(X.ROWID) FROM EMP X WHERE X.EMP_NO = E.EMP_NO); 会死的很惨 请说出你的观点?OK? 这个语句我在 oralce 下十万级数据进行删除测试过. 是目前我所知删除重复数据最快的方法。 楼主是用rowNumber还是rowId, rowId是数据物理地址,你这样删的话,意思就是: 物理地址数值大于某个值的数据行,全部干掉,当然死翘翘了。 |
|
返回顶楼 | |
发表时间:2011-03-16
zzhonghe 写道 denger 写道 aladdin181 写道 做着不要误导人
用下面这个 3.删除重复记录 最高效的删除重复记录方法 ( 因为使用了ROWID) Sql代码 1.DELETE FROM EMP E WHERE E.ROWID > (SELECT MIN(X.ROWID) FROM EMP X WHERE X.EMP_NO = E.EMP_NO); 会死的很惨 请说出你的观点?OK? 这个语句我在 oralce 下十万级数据进行删除测试过. 是目前我所知删除重复数据最快的方法。 楼主是用rowNumber还是rowId, rowId是数据物理地址,你这样删的话,意思就是: 物理地址数值大于某个值的数据行,全部干掉,当然死翘翘了。 哦哦!这个楼主还是站出来说清楚哈!像这位兄台说的,rownum 与rowid的区别清楚还是重要的! |
|
返回顶楼 | |
发表时间:2011-05-13
zzhonghe 写道 denger 写道 aladdin181 写道 做着不要误导人
用下面这个 3.删除重复记录 最高效的删除重复记录方法 ( 因为使用了ROWID) Sql代码 1.DELETE FROM EMP E WHERE E.ROWID > (SELECT MIN(X.ROWID) FROM EMP X WHERE X.EMP_NO = E.EMP_NO); 会死的很惨 请说出你的观点?OK? 这个语句我在 oralce 下十万级数据进行删除测试过. 是目前我所知删除重复数据最快的方法。 楼主是用rowNumber还是rowId, rowId是数据物理地址,你这样删的话,意思就是: 物理地址数值大于某个值的数据行,全部干掉,当然死翘翘了。 我也是这样认为的。。 |
|
返回顶楼 | |
发表时间:2011-06-21
za3999 写道 zzhonghe 写道 denger 写道 aladdin181 写道 做着不要误导人
用下面这个 3.删除重复记录 最高效的删除重复记录方法 ( 因为使用了ROWID) Sql代码 1.DELETE FROM EMP E WHERE E.ROWID > (SELECT MIN(X.ROWID) FROM EMP X WHERE X.EMP_NO = E.EMP_NO); 会死的很惨 请说出你的观点?OK? 这个语句我在 oralce 下十万级数据进行删除测试过. 是目前我所知删除重复数据最快的方法。 楼主是用rowNumber还是rowId, rowId是数据物理地址,你这样删的话,意思就是: 物理地址数值大于某个值的数据行,全部干掉,当然死翘翘了。 我也是这样认为的。。 动手试一下就知道了,楼主用ROWID正确的! 的确是一个非常方便的删除重复记录的方法~ |
|
返回顶楼 | |
发表时间:2011-07-13
很受用,如果能把原理在说明白点就更好了。
|
|
返回顶楼 | |
发表时间:2011-08-01
count(*) 比count(1)稍快?怎么看到以前调优的都说count(1)比count(*)效率高,到底哪个快哦
|
|
返回顶楼 | |