explain
plan
forselect
*from test;
select
*from
table
(dbms_xplan.display())
;
select
b.uniqueness, a.index_name, a.table_name, a.column_name
from all_ind_columns a, all_indexes b
where a.index_name=b.index_name
and a.table_name = upper(
'表名'
)order
by a.table_name, a.index_name, a.column_position;
decode(條件,值1,返回值1,值2,返回值2,…值n,返回值n,預設值)
if條件=值1then
return(返回值1)
elsif條件=值2then
return(返回值2)
…
#oracle 鏈結字串用 ||
select name||decode(name,
null
,'&'
,'*'
)from test;
乙個沒有具體實用性的舉例,為什麼要舉這個例子,因為,if…else相信都可以看懂,但是,不少人可能會理解為「如果name為null,加上&,如果name為* ,後邊沒東西了,看不懂了「…
真實意思:
查詢name,如果name為null,則在後邊加上&,如果不為null,加上*
相當於
if
(name == null)
return
"&";
else
return name +
"*";
接下來再來另乙個例子
select name||decode(name,a,
'&',
'b',
'*')
from test;
相當於
if
("a"
.equals
(name)
)return name +
"&";
elseif(
"b".
equals
(name)
)return name +
"*";
資料庫優化(持續更新中 )
1 合理使用索引 經常進行連線,但沒有指定為外來鍵的列上建立索引 在頻繁進行排序或分組 即進行group by或order by操作 的列上建立索引 在條件表示式中經常用到的不同值較多的列上建立檢索,在不同值少的列上不要建立索引 如性別只有兩種,不用索引 如果待排序的列有多個,可以在這些列上建立復合...
資料庫優化(持續更新)
資料庫是程式的倉庫,也是程式中最脆弱的一部分,因為它的脆弱性和重要性,所以需要專門進行管理和優化。在如今的網路化的時代更加需要資料庫的靈活和快捷,乙個高效的資料庫能夠使程式執行效率更快,提高程式的執行效率。但往往對資料庫的設計達不到我們想要的效果,所以資料庫的優化顯得尤為重要。該系列文章正是考慮大資...
資料庫中鎖(簡易描述,持續更新)
共享鎖和共享鎖可以共存,共享鎖和排它鎖不能共存,只有在serializable隔離級別下做查詢會新增共享鎖 案例 開啟兩個客戶端並都設定隔離級別為serializable,分別在兩個客戶端中進行查詢 實現步驟 1.開啟2個視窗分別設定隔離級別都為serializable 2.開啟事務執行查詢 視窗1...