sql語句優化

2021-06-12 07:50:23 字數 1007 閱讀 5399

1.oracle使用merge更新或插入

使用merge比傳統的先判斷再選擇插入或更新快很多

如果該行存在,執行乙個update操作,如果是乙個新行,執行insert操作

— 避免了分開更新

— 提高效能並易於使用

— 在資料倉儲應用中十分有用

使用語法

merge [hint] into [schema .] table [t_alias] using [schema .]

[t_alias] on ( condition )

when matched then merge_update_clause

when not matched then merge_insert_clause;

建立測試表:

create table mm (id number, name varchar2(20));

create table mn (id number, name varchar2(20));

插入資料

insert into mm values (1, 'a');

insert into mn values (1, 'b');

更新同一張表的資料

merge into mn a

using (select count(*) co from mn where mn.id=4) b

on (b.co<>0)

when matched then

update

set a.name = 'e'

where a.id=4

when not matched then

insert

values (4, 'e');

2.oracle根據中文拼音首字母排序、取得中文拼音首字母函式

select * from t_table t  order by nlssort(t.name, 'nls_sort=schinese_pinyin_m');

SQL 語句優化 OR 語句優化案例

從上海來到溫州,看了前幾天監控的sql語句和資料變化,發現有一條語句的io次數很大,達到了150萬次io,而兩個表的資料也就不到20萬,為何有如此多的io次數,下面是執行語句 select ws.nodeid,wi.laststepid,wi.curstepid from workflowinfo ...

sql語句優化!

1.不要使用in操作符,這樣資料庫會進行全表掃瞄,推薦方案 在業務密集的sql當中盡量不採用in操作符 a 改為 a 4.is null 或is not null操作 判斷字段是否為空 5.及 操作符 大於或小於操作符 大於或小於操作符一般情況下是不用調整的,因為它有索引就會採用索引查詢,但有的情況...

SQL語句優化

explain sql 反饋sql語句執行資訊 1 優化 select min id as nid,uid pmzongfen updatetime picid gg from qd mouldu qd sell limit 1 select uid pmzongfen updatetime pic...