タグ

ブックマーク / ichirin2501.hatenablog.com (2)

  • MySQLでINSERTのデッドロックに嵌る人を1人でも減らすために - ichirin2501's diary

    この記事ははてなデベロッパーアドベントカレンダー2015の12月24日の記事です。 昨日は id:stefafafan さんのエンジニア英語でした。 こんにちは、こんばんは。 クリスマス・イヴですね、皆さんはどのような一日を過ごされる(た)のでしょうか。 僕は一人です。 改めまして、先日初めての合コンを経験/失敗して二度と行かないと誓った はてなの id:ichirin2501 です。今回は小ネタとしてMySQL(InnoDB)のBULK INSERTにおけるデッドロックの話をしようと思います。ただ、外部キー制約が絡むと複雑になるので今回は触れません。それについてはこちらを参照ください。 あ、タイトルはオマージュです*1。 Topic 検証環境 INSERTのデッドロック 避けられないケース もしくはロックする リトライ処理に注意 初期データ Duplicateの場合 Deadlockの

    MySQLでINSERTのデッドロックに嵌る人を1人でも減らすために - ichirin2501's diary
  • ビット演算の小技 - ichirin2501's diary

    ビット演算の扱いが下手なので、慣れるためにビット演算で遊んだり、小技を集めてみた。 今回は小技のめも。 一番右のビットを0にする x&(x-1) 一番右の1になってるビットの位置 x&-x 一番右の0になってるビットの位置 -~x&~x 一番右側から連続してる0を1に変える x|(x-1) 一番右側から連続してる0の部分のマスク ~x&(x-1) 一番右側から連続してる0の数だけ右にシフト x/(x&-x) 2^nの値なら1を返す !(x&(x-1))&&x あと、リンクとか。 ビットを数える・探すアルゴリズム The Aggregate Magic Algorithms

    ビット演算の小技 - ichirin2501's diary
    KinjouJ
    KinjouJ 2011/02/19
  • 1