Insert語句的幾個提高效率的特殊用法

2021-08-31 05:54:50 字數 975 閱讀 9027

我們做insert操作的,經常要判斷insert的條件是否滿足。一般的做法,都會先執行一條判斷語句,然後再執行insert語句,下面的方法可以幫助你節省第一條判斷語句,把這兩者結合到一起完成。

測試表: create table ccc (id int primary key, name varchar(100));

1. on duplicate key update columnname=value

insert into ccc values (1,'cc') on duplicate key update name=concat(name,'-b');

避免了不必要的duplicate檢查,尤其在進行統計累加的時候,

比如對於所有登入進來的id進行累加:

insert into ccc values (idxx,1) on duplicate key update count=count+1;

2. insert的where not exists:

當某個條件不滿足,或不滿足的的時候,決定是否執行插入

insert into ccc (id,name) select 60,'cc' from dual where not exists (select null from ccc where id>5);

2. ignore

稍微有點不同,他是如果有duplicate,那麼就直接ignore這次insert

insert ignore into ccc values (1,'cc');

3. delayed

delayed 採用緩衝,insert後不立刻插入,放入佇列,等待資料表沒有其他讀的執行緒的時候,再刷入。

資料在緩衝的時候,select是讀取不到的

並且如果發生衝突,是檢查不到的

4. high_priority low_priority

用來強制跳過伺服器設定的規則, 有些設定 update 比select優先, 有些設定了select優先

如何提高效率

如果問 你想不想使自己的收入加倍 我猜每個人的答案都是 yes 如果我繼續問 你相不相信現在你的收入會加倍 我想有一些人可能會沒把握,有一些人認為不太可能,我告訴各位 你們每個人的收入一定會加 倍 因為按照每年物價增長率及通貨膨脹的正常速度,20年後你的收入一定會加倍。但是如果你希望,提前在5年內 ...

Python 提高效率

最近師兄給了小任務,算乙個p值。任務詳情是這樣的 第一步,有基因集a,23個元素,基因集b,451個元素,共有23 451 9922個組合 當然你要考慮去重 看在ppi資料庫 145萬多行資料 中出現的組合總個數 觀察值 第二步,然後再以hg19中基因為背景基因集,放回隨機抽取23個基因構成基因集c...

如何提高效率

在提高班學習有很長的一段時間了,學習的收穫中有一點是非常的明顯,那就是自己的效率明顯的比原來高出許多,現在就按照自己的切身體會來總結一下如何提高自己效率.1 目標 必須要有目標,沒有目標和方向效率會大大的折扣.當然不僅僅是學習,更是生活,事業,和人的整個一生.這點公尺老師非常的重視,每個學習階段都給...