-2
私持っている機能のリターン従業員番号の整数のMySQL関数型キャストエラー
CREATE FUNCTION `getUser`(s CHAR(20)) RETURNS char(50) CHARSET latin1
RETURN @user;
私は(0.00秒)
が、その本
select e.emp_number from hs_hr_employee e where
hie_code_1 in (select hie_code_1 from hs_hr_emp_level L,hs_hr_users U where L.emp_number=U.emp_number and L.emp_number=getUser2() and (U.def_level=1 or U.def_level=4) )
or
hie_code_3 in (select hie_code_3 from hs_hr_emp_level L,hs_hr_users U where L.emp_number=U.emp_number and L.emp_number=getUser2() and U.def_level=2 )
or
hie_code_4 in (select hie_code_4 from hs_hr_emp_level L,hs_hr_users U where L.emp_number=U.emp_number and L.emp_number=getUser2() and U.def_level=3)
がより遅くなる実行して、その戻りを実行するとき;
が、私はハード
select e.emp_number from hs_hr_employee e where
hie_code_1 in (select hie_code_1 from hs_hr_emp_level L,hs_hr_users U where L.emp_number=U.emp_number and L.emp_number=5 and (U.def_level=1 or U.def_level=4) )
or
hie_code_3 in (select hie_code_3 from hs_hr_emp_level L,hs_hr_users U where L.emp_number=U.emp_number and L.emp_number=5 and U.def_level=2 )
or
hie_code_4 in (select hie_code_4 from hs_hr_emp_level L,hs_hr_users U where L.emp_number=U.emp_number and L.emp_number=5 and U.def_level=3)
にコード化されたときに、これは(0.00秒)の時間でで返されます。 optimiste機能のソリューションを提供してください。
'getUser2()'とは何ですか? –
あなたのクエリでgetuser2()を呼び出すが、getUserのためのdefnitionを表示する? @user varには何が返されていますか? –
emp_number列とdef_level列に索引が設定されていますか? –