儲存過程中的優化建議

2021-04-15 03:28:07 字數 598 閱讀 3746

一:盡量避免對同一張表尤其是資料量較大的表進行重複訪問,可以考慮先根據條件提取資料到臨時表中,然後再做連線。

二:儘量減少update

語句的使用,盡量使用select

語句查出盡量簡練的資料然後使用update

。應為在資料庫操作中update

要鎖表而select

不會三:盡量避免游標的使用,在運算元據量超過1w

條資料的表的時候就不能使用游標。應為游標的效率很低。

四:盡量使用exists

代替select count(1)

來判斷是否存在記錄,count

函式只有在統計表中所有行數時使用,而且count(1)

比count(*)

更有效率。

五:索引的建立要與應用結合考慮,建議大的oltp

表不要超過6

個索引。

六:盡可能的使用索引字段作為查詢條件,尤其是聚簇索引,必要時可以通過index index_name

來強制指定索引。

七:在儲存過程中盡量避免子查詢的使用,在相同的條件下使用子查詢可以多出43%

的查詢開銷。

八:可適當考慮增大運算子開銷,降低子樹大小。 

儲存過程中呼叫儲存過程

use northwind go 儲存過程1 功能 通過員工firstname inputempfirstname 獲得 員工id outid if exists select name from sysobjects where name p getempleeidbyname and type ...

儲存過程中is的含義

例子 create or replace procedure proc1 para1 varchar2,para2 out varchar2,para3 in out varchar2 as v name varchar2 20 變數宣告塊 緊跟著的as is 關鍵字,可以理解為pl sql的dec...

TensorRT優化過程中的dropout問題

使用tensorrt之前,你一定要注意你的網路結構是否能夠得到trt的支援,無論是cnn還是rnn都會有trt的操作。例如 tf.nn.dropout features,keep prob trt就不支援。這個也不奇怪,因為trt在要求輸入中,只要你傳入樣本資料,那你就不能feed乙個數值,所以以後...