2013年07月31日

mysqlのforupdateの挙動

レコードをアップデートする場合、forupdateでselect文を書く事でそのレコードがロックかかる。

「レコードが無い場合はどうなる?」というのが今回の議題。
テーブルロックがかかるのか?それとも行ロックなのか。

インデックスはuserIdに張ってあり、一意で取得できるものとする。

実験結果からすると、
一意で取得できるものだった場合で且つデータが存在しない場合はテーブルロックがかかる。
begin;
select * from table1 where userId = 1 for update;
として、もう一方のinsertを実行しようとすると固まった。

もしもデータが存在した場合(updateを行おうとした場合)は「行ロック」がかかった。

参考サイト1
参考サイト2
ラベル:MySQL
posted by 1.618 at 12:17| Comment(0) | web系 | このブログの読者になる | 更新情報をチェックする

2013年07月25日

MySQLで複数行を一括でUPDATEする方法

MySQLではINSERT文は一括アップデート出来るが、UPDATEは一つずつしかできない。
それを解決する方法。

1. テンポラリテーブルを用意してそこにデータをINSERT。
2.
UPDATE tbl1
INNER JOIN tmptbl on tbl1.id = tmptbl.id
SET tbl1.body = tmptbl.body;

でいけるらしいw

ただし、一つテーブルが増えるので善し悪しはあると思う。

以上!

参考サイト
posted by 1.618 at 12:39| Comment(0) | web系 | このブログの読者になる | 更新情報をチェックする

SmoothMovesで再生中に任意のテクスチャを変更する

boneAnimation.SwapTexture("New Atlas1","joy_01","New Atlas1","joy_12");
でいけるらしい。
試してないけどw
New Atlas1のjoy_01をNew Atlas1のjoy_12に変更するという意味。

リファレンス

ここのサイトで見つけました
ラベル:Smoothmoves unity
posted by 1.618 at 10:25| Comment(0) | Unity3D | このブログの読者になる | 更新情報をチェックする

2013年07月18日

UnityのWWW、Disposeに関して

UnityのWWWに関して。
当初自動的にメモリー開放してくれているものだとおもっていただどうも違うらしい。(ここから)

場合にもよると思うが、とりあえずWWW使う場合はfinallyでDispose()呼んだ方がいいのかも。
ラベル:unity www dispose
posted by 1.618 at 12:28| Comment(1) | Unity3D | このブログの読者になる | 更新情報をチェックする

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。


×

この広告は1年以上新しい記事の投稿がないブログに表示されております。