Create table T_Name
(
id integer as primary key,
name varchar2(254)
); /* 此表中大约有1000万条数据, 并且保证name是唯一性约束 */v_id integer;
v_name varchar2(254);有下面的动作:(已对T_Name表中的name字段建立索引)
select NVL(id, 0) into v_id from T_Name where name = v_name;
这样重复800万次。我发现这个过程占用很多时间,请问还有别的方法吗?
(
id integer as primary key,
name varchar2(254)
); /* 此表中大约有1000万条数据, 并且保证name是唯一性约束 */v_id integer;
v_name varchar2(254);有下面的动作:(已对T_Name表中的name字段建立索引)
select NVL(id, 0) into v_id from T_Name where name = v_name;
这样重复800万次。我发现这个过程占用很多时间,请问还有别的方法吗?
给定一个name(字符串), 在T_Name中查找它所对应的id,
如果没找到就赋值为0.
能不能介绍一下, 呵呵
Thanks
SELECT fname, lname, pcode FROM cust WHERE id = 674;
SELECT fname, lname, pcode FROM cust WHERE id = 234;
SELECT fname, lname, pcode FROM cust WHERE id = 332;含有绑定变量的:
SELECT fname, lname, pcode FROM cust WHERE id = :cust_no;在sql*plus里面:
sql> variable x number;
sql> exec :x := 123;
sql> SELECT fname, lname, pcode FROM cust WHERE id =:x;
他这个应该是用在函数里的吧,如果是函数或者存储过程里本身就是绑定变量的
!!!
!!!
效率更高!