select和from中间尽量不要用自定义的函数
2013-12-06 15:08
183 查看
select和from中间尽量不要用自定义的函数
咱们常用的
select ***, sys_common_if_p.Get_Lookup_Name('xxx', yyy) from table
或者
select ***, sys_common_if_p.GET_USER_NAME('xxx') from table
都是不好的,如果是自定义函数,在函数中进行了大量查询,那就更糟糕了,在数据量大的时候会很慢。
因为函数每走一条记录,都会执行函数里相关表的全表扫描,而关联表只扫一次
所以,尽量以关联表的形式查询吧,当然,关联条件一定要写全,否则形成笛卡尔连接就更慢了。
以上是各人理解,如果不对,请说明指出
咱们常用的
select ***, sys_common_if_p.Get_Lookup_Name('xxx', yyy) from table
或者
select ***, sys_common_if_p.GET_USER_NAME('xxx') from table
都是不好的,如果是自定义函数,在函数中进行了大量查询,那就更糟糕了,在数据量大的时候会很慢。
因为函数每走一条记录,都会执行函数里相关表的全表扫描,而关联表只扫一次
所以,尽量以关联表的形式查询吧,当然,关联条件一定要写全,否则形成笛卡尔连接就更慢了。
以上是各人理解,如果不对,请说明指出
相关文章推荐
- 不要直接使用select * from a,b 因为,原来自动进行了内连接
- Oracle数据库(函数(不包括自定函数,自定义函数会单独在后面博文中说明)、Oracle中select语法讲解)
- sql语句中尽量不要使用复杂的函数运算
- 服务器程序不要用 select 函数,可能会因越界而崩溃
- 自定义SharePoint Field时,尽量不要重载UpdateFieldValueInItem函数
- PHP实现手机号码中间四位用星号(*)隐藏的自定义函数分享
- 自定义绘图添加抗锯齿功能 尽量不要在onDraw()方法中创建paint对象
- [Spark经验一]Spark RDD计算使用的函数里尽量不要使用全局变量
- c里面的数组尽量不要去做函数调用运算等操作
- mybatis插入oracle数据库,如果用foreash就用select xx from dual;否则用insert into tablename(,,)values()时不要用foreach
- PHP实现手机号码中间四位用星号(*)隐藏的自定义函数分享
- Smarty中的自定义函数(三)html_select_date、html_table、html_time、math
- PHP实现手机号码中间四位用星号(*)隐藏的自定义函数分享
- Oracle select --字符函数:TRANSLATE(string,from_str,to_str)
- Oracle不支持在select语句中调用自定义函数时使用自定义类型作参数?
- BOM展开的中间函数给大家
- 在 Excel 中编写自定义函数——基础篇
- pl/sql快速输入select * from等语句
- 自定义select
- EXCEL 中自定义函数的应用(关于 XOR 在 EXCEL 中的用法 及 文本型数字求和)