db

MySQLでselect結果でupdateする(副問い合わせ付き)

db

表題の件、副問い合わせselectの先の方で必要な情報がつながるのでやらざるを得なくてやったのですがすごい違和感。ちゃんと通るのですよコレ。 スパっとupdateされます。 UPDATE `tableA` r, (SELECT id,c.hoge FROM `tableA` r JOIN tableB e ON r.aa = e.…

express+node.jsのmongodb単純readとsendfileのNetIOがsinatra+unicornの2倍

js db

npmする cd /path/to/nodeアプリケーション npm install express mongoose npm install forever -g #デーモンにする何か musicdb_devではファイルを転送する部分をsinatraからnodeに切り替えた。 理由は特に無いのです。x-sendfileとか使うほうが良いです。…

Subsonicが遅すぎるので検索+ストリーミングを自作した。

subsonicが自分のnasですと遅すぎます。 512M/1.4GCeleronMでは10万ファイルをハンドルするのはしんどい。表示に10秒、検索に10秒とか所要する。 検索も直感的ではない。もう少しシンプルで凶暴なもので良いかな、と。 ruby+sinatra+mongoid+taglib2で行きま…

memo:order by rand()

db

mysqlで無作為抽出したいとき select * from Table order by rand(); でOK。かっこよすぎた。

メモ:slide update

db

mysqlのストアドを書いています。 ストアド内で次々と生成される○○を横展開させて本番テーブルに直近○○回の試行として インサートする時とかに使えたslideなupdateの。 setの順番が逆なのがミソ。 本当はslide updateの前のストアド版一様乱数のコードの固ま…

mysqlquerybrowserで変数

db

うそでした。

memo:mysqlにパスがとおってない。。。

db

dumpを突っ込みます。自分のmacにはmysqlが入っているのだけれどmysqlコマンドにパスがとおっていないです。なんじゃそれ。 文字コードはスキーマで決めておくと幸せになれますね。 usr/local/mysql/bin/mysql -u ユーザー -p sqlファイル スキーマ名

memo mysqlのありがちなdumpコマンド

db

どうも。 レプリケーションがキモイことになっている。 畜生! dumpというものをしないといけない模様。 ついでに復元もする模様。入力はうまくいってくれるのだろうか。。。文字コードとか。。。 やばいことになりそうだ。。orz... 以下メモ mysqldump --qu…

topもlimitもrownumも無くても上位○件を出さなきゃいけない時

db

SQLきめぇ。 行数制限はtopとかlimittとかrownumとか使ってました。ええ。未熟者ですから でも name,volume,class a01,10,aaa a02,5,aaa a03,7,bbb a04,3,aaa というtableAがあって select * from tableA as A where A.class = 'aaa' and (select count(*) …

アハ!

db

どうも insert into tableA(field1,field2) values ( select '定数など' ,field from tableB where 条件 ) てなことができるらしい。 ザ☆サブクエリ これはすごいなぁ。 いい加減ストアド系の文法覚えろって話もあるが。。。 パラメータとかも使ったらとても…

where句のinに6000個は無い。

pg db

where句にwhere hoge in(6000個)のクエリ=>いつまでも終わらない。 当たり前ですね。すまんかった。 別テーブルに6000行->結合+is not null規制=>一瞬 DBの結合のパーワーを思い知る。 is not nullだって低速と言われてるnotななくそクエリなんだぜ!?

拝啓DB様、本当に申し訳ありませんでした。

DB

「なんだよー電源落ちたりしたときにデータ消えたんじゃね?」 とか思ってサーセン。 DB様がそう簡単にデータ飛ばしたりしませんよね! そうでした。知っていました。DB様早いし、堅いし。 安心なのですよね。 本当に申し訳ありませんでした。 弊社の突っ込…

sqlserverでunixtimeをlocaltimeにする日本人

db

こう言うのは100%忘れる sqlserverも21世紀初頭版らへんはmd5できなかったりいろいろとありますね unix変換の関数がついてるmysqlとかとは圏の違いを感じたり感じなかったり。 そもそもlinux系のデータをsqlserverで受けるとかが負けゲームなきもしたりしな…

納得できない。ODPでoracleストアドをキックするときのvarchar2の扱い

vb db

varchar2型の戻りがストアドに存在するとき。 入れるときがどうとかはまだわかんない。あとでやる。 実行対象ストアドは以下の通り CREATE OR REPLACE PROCEDURE GETNAME ( v_EMPNO IN number, v_ENAME out varchar2, v_COUNT out number) IS BEGIN SELECT E…

ADO.netでASP.netでSQLインジェクション対策をクリスマスに

db vb

Imports Oracle.DataAccess.Client Imports System.Data Partial Class _Default Inherits System.Web.UI.Page Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click Dim Con As New OracleConnection …

bulk collectが速いと思ってたら大間違いだった

db

cursorはopenしたらすぐに次の処理をするのです。 bulkは全行fetchするまで待つらしい。 要するに2万件あたりを越えたところで 普通のopen cursor => fetch into が速くなるっぽい set timing on!

oracleでlimit句みたいなことをする方法

db

どうして後輩の私に聞きますか!?調べろよ。。。 select emp.* from emp where 3 >= rownum でOK。是が非もない。Oracle的上位?件。

%typeだと表にある範囲でしか値をとれないの?って

db

emp.deptnoは最大値が90ね。step 10 で定義してある。 ともかくエラーが出たんだよ --select+while declare -- v_cnt emp.deptno%type := 10; --これだとエラーdeptにある範囲でしか値をとれない!? v_cnt number := 10; v_dept dept%rowtype; v_max number; …

ORACLEで切れそうになった。

DB

仮想環境のORACLEだけどリソースがしんどいのでメモリを削ろうかなと鼻くそほじりながらサービス切ったりしてたら再起動後にインスタンスがたちあがらねぇ。xpのデフォからリモートレジストリとかテルネットとか気持ちワルーいサービスを切ったわけだがたぶ…

Sqlインジェクション

wikipediaの記事がドンぴしゃだわ。終了 SQLインジェクション - Wikipedia

どうでもいいことoracle silver

あー、予備の何してもいいDB作っていいですかー? 接続はどのミドルウェア使おうかなー? で、パフォーマンスはどうよ、、だめ、こっちにしよっと こっからでも本番に入れたいなぁ 一時的に操作先を替えて、、、年の為にね。。。。 みたいな一連の試行錯誤のバ…

Tomcat-MysqlのJDBC

下の記事のごとくnullpointのエラーがあったのだけど解決。 つかれたーーー 原因はJDBCでした。デバッグで見ていったらTomcatからMysqlへのコネクションがnullのまんまいくからcatch節に飛んで後処理がnullnullで終わってしまうって状況だった。 接続変数関…

Mysqlのコマンド

SQLは省略して。。。 シェルからログインまでは mysql -u ユーザー名 -p でOK。 パスワードを聞かれます