sql指令碼優化

2021-08-03 19:48:41 字數 657 閱讀 8014

在資料庫公升級過程中,比如要給某個表新增字段我們都是直接

alter table tablename add colname type
這樣的寫法非常不具有重用性。

為什麼這麼說呢?因為一旦這裡新增的列名存在的條件下,我們執行這條sql肯定會報錯。

今天看見乙個前輩寫的sql指令碼讓我恍然大悟。

他是這麼寫的:

declare

num integer;

begin

select count(*) into num from user_tab_cols where lower(table_name)=lower('tablename') and lower(column_name)=lower('colname');

if num=0 then

execute immediate 'alter table tablename add colname type';

end if;

end;

看到了吧,先到user_tab_cols中去查詢相應的字段,如果沒有再去新增字段,如果有,則什麼都不做而且不會報錯。

開始覺得自己要學得東西還有好多,越來越覺得自己是個小菜鳥,加油吧!!!

SQL指令碼優化

1.建立索引 一.要盡量避免全表掃瞄,首先應考慮在 where 及 order by 涉及的列上建立索引 1 在經常需要進行檢索的字段上建立索引,比如要按照表字段username進行檢索,那麼就應該在姓名欄位上建立索引,如果經常要按照員工部門和員工崗位級別進行檢索,那麼就應該在員工部門和員工崗位級別...

sysctl優化指令碼

bin sh sysctl w net.ipv4.netfilter.ip conntrack tcp timeout established 600 sysctl w net.ipv4.netfilter.ip conntrack max 1310720 sysctl w net.ipv4.ip ...

jmeter 優化指令碼

可以檢視提取出的資料 1 響應斷言 根據正確的響應資料中的某一固定值,判斷是否有bug 2 json斷言 根據json資料中心的某一常量,判斷是否有bug 1 foreach控制器 輸入變數名稱,引用到http請求中 jdbc輸入處理器儲存的變數名稱 2 事務處理器 3 簡單控制器 相當於建立乙個資...