我們做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 目標 必須要有目標,沒有目標和方向效率會大大的折扣.當然不僅僅是學習,更是生活,事業,和人的整個一生.這點公尺老師非常的重視,每個學習階段都給...