2010-03-01から1ヶ月間の記事一覧

DBに設定されているindexを確認

テーブル毎に以下コマンドで確認 mysql> show index from テーブル

バックグラウンドで処理

時間のかかる処理を行った場合、バックグラウンドに移すことで並行してシェル操作が可能になります。 ①Ctrl+Zで中断 ②jobsコマンドでジョブ番号確認 ③bg ジョブ番号 ※ジョブが1つしかないときは引数無しでも可これでバックグラウンドで処理される。フォアグ…

rmで削除する前に確認

$ rm -i例えば以下のような場合、 [user@system hoge]$ ls fuga.txt hoge.cpio hoge.txt piyo.txt.txtだけ削除したいが「rm ./*.txt」で本当に大丈夫?と思ったら [user@system hoge]$ rm -i ./*.txt rm: remove 通常ファイル `./fuga.txt'? y rm: remove 通…

2次配列の行と列を入れ替え

// 行と列を入れ替え $swaps = array(); for ($i = 0; $i foreach ($datas as $value) { $swaps[$i][] = $value[$i]; } } $datas = $swaps;入替え前の$datas ( [0] => Array ( [0] => 日付 [1] => 総合計 ・・・ [10] => 項目X ) [1] => Array ( [0] => 合計 [1…

input_tagでtypeを書き換える

input_tag ($name, $value = null, $options = array()) デフォルトではtype=textとなっているがoptionを書き換える事で様々なtypeにカスタマイズできる 例)buttonタグにしてonclickアクションを実行させる input_tag('hoge', 'ボタン', array('type'=>'but…

複数の変数や配列をまとめて文字コード変換

PHP

mb_convert_encodingではなく、mb_convert_variablesを使う。複数変数の場合 mb_convert_variables('sjis', 'utf-8, euc-jp', $var1, $var2) →var1,var2をsjisに変換配列の場合 mb_convert_variables('sjis', 'utf-8', $array) →$arrayに含まれる文字列をま…

iノード番号を表示(ハードリンクの確認)

ls -i でiノード番号が表示される例)ソートして表示 $ ls -i | sort 32361 gunzip 32361 gzip 32361 zcat※同じ番号ならばハードリンク(実体は1つのファイル)と言える

slow.logの取り方

my.cnfにて設定を行う [root@hoge etc]# vim /etc/my.cnfmysqldにて、以下を追記 log-slow-queries ・・・ slow.logのパスとファイル名 long_query_time ・・・ 何秒以上のSQLをlogに出すか # The MySQL server [mysqld] port = 3306 socket = /var/lib/mysql/mysq…

レコードがidの限界を超えたら...

id がunsigned integer型の場合 insert into hoge (id) values (2147483648) →-2147483648が入る insert into hoge (id) values (2147483647) →-2147483647が入る 削除時も同様に対応する delete from sites where id = 2147483648 →id: -2147483648が削除さ…

ストレージエンジンの確認

システムで使用できるエンジンを確認 show engines; 既存テーブルのエンジンを確認 show create table テーブル名;mysql> show create table hoge; +-------+--------------------------------------------------------------------------------------------…

MySQLのバージョンを調べる

select version()mysql> select version(); +----------------------+ | version() | +----------------------+ | 5.1.38-community-log | +----------------------+ 1 row in set (0.01 sec)※postgresでも同様にselect version()で確認できる

既存DBからインポート(schema.yml作成)

doctrineの場合 ./symfony doctrine:build-schemadatabases.ymlも設定しておく [databases.yml] all: hoge: # class: sfPDODatabase class: sfDoctrineDatabase param: dsn: mysql:dbname=hoge;host=localhost username: fuga password: xxxxxxxx persistent…

シェルの戻り値(正常終了か否か)

$?でシェルが正常終了したかどうかが確認できます 正常終了:0、正常終了でない:0以外 [root@hoge ~]# ls -l file3; echo $? ls: file3: そのようなファイルやディレクトリはありません 2 [root@hoge ~]# ls -l; echo $? 合計 44 -rw------- 1 root root 10…

ファイルシステムを確認

/etc/fstabで確認できます。 下記の場合、/dev/sda2はext3を使用している [user@web1 etc]$ cat /etc/fstab /dev/sda2 / ext3 defaults 1 1 /dev/sda1 /boot ext3 defaults 1 2 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 …

LIKEでインデックス 

LIKE 検索では、前方一致検索 (LIKE 'foo%') の場合のみインデックスが使用可能 explain select * from item where id like '10%' -> OK explain select * from item where id like '%10%' -> NG上記を実行した場合、possible_keysに注目 前方一致の場合のみpossi…

インデックスの効果を確認(explain)

select文の前にexplainを付加する explain select * from user where id = 10000 id select_type table possible_keys key key_len ref rows Extra 1 SIMPLE user PRIMARY PRIMARY 4 const 1 「possible_keys」に適用可能なindex 「key」に使用indexが表示さ…