我幾乎是一個從「Java世界」到「PL/SQL世界」,與「傳統」存儲過程一起工作的新手,我有一個問題。 Java命名的最佳實踐包括諸如「變量的名稱,方法,類等應該是有意義和自動記錄的」(我在Clean Coder書上閱讀)。 默認情況下,Oracle的標識符長度爲30個字符,但我發現縮寫的命名並不總是「易於翻譯」,我不知道這是否完成了關於應用程序性能的思考,或者它只是「一種糟糕的做法」 。變量/函數/過程/ etc名稱是否影響PL/SQL中的性能?
Supose我找到了這樣的事情:
PROCEDURE PROCCALCTAXES(vVarNamTax VARCHAR2(2)) IS
vVarNamCouCalTax VARCHAR2(20);
nVarCouId NUMBER;
vVarNamTax VARCHAR2(20);
vVarValTax VARCHAR2(10);
nVarCouTaxTimPaid NUMBER;
vVarExa30Cha VARCHAR2(10);
BEGIN
--business logic
END PROCDOSTH;
有些東西如果我重構像這樣的代碼來照顧?
PROCEDURE P_CALCULATE_TAXES(vVarNamTax VARCHAR2(2)) IS
vCountryName VARCHAR2(20);
nCountryId NUMBER;
vTaxName VARCHAR2(20);
vTaxValue VARCHAR2(10);
nCountOfTimesPaid NUMBER;
vAnExampleWith30CharactersLong VARCHAR2(10);
BEGIN
--business logic
END P_CALCULATE_TAXES;
應用程序的性能下降了嗎?如果所有變量都像最後一個變量那樣有30個字符呢?什麼時候函數/過程/觸發器/等的名稱會影響性能?這是否有一個標準?
謝謝!
與性能無關,與可維護性和名稱空間管理有關。最好的做法是將所有程序封裝在軟件包中,例如'TAX_PKG.calculate'或'FINANCE.calculate_tax'或其他在您的上下文中有意義的內容。 – 2015-03-14 14:16:24