mysql

twitterのプログラマーアカウントリスト

たぶん全員日本人です nipotan Perl hacker. Sr. manager at 'livedoor Co.,Ltd.' which runs portal site and various geeky services. miyagawa Kind of a symbol of Japanese hacker. CTO of Six Apart. Developer of 'Plagger'. One of top CPAN auther.…

MyISAMとInnoDBの比較

●InnoDBの利点(MyISAMの欠点) ▲障害対応系 ・クラッシュしても再起動するだけでリカバリができる ・クラッシュリカバリにかかる時間はテーブルサイズに比例するようなことはなく、コミット済みのデータは修復できる (巨大なMyISAMテーブルのREPAIRには数日単…

mysqlで重複レコードを一括削除する方法

primary keyでグループ化したtableを作成(下記は複数のカラムがprimary keyの場合) CREATE TABLE temp_table as SELECT * FROM hoge GROUP BY hoge_id,hoge2_id; 対象tableを削除 DROP TABLE hoge; 先程作成したtableに置き換える ALTER TABLE temp_table RE…

mysqlでcountの代替案

FOUND_ROWS() selectを実行した際に取得した件数を返してくれる関数 InnoDBを使用している時はcountよりも早い 例、select hoge from hoge_table where hoge like '%県'; select found_rows(); 例、limitを無視した件数を取得する場合 (データ取得時にSQL_CA…

mysqlでのqueryのチューニング

Ⅰ、権限の簡易化 テーブルの権限が複雑になればなるほど、オーバーヘッドが大きくなります。GRANT文で設定された権限が単純であれば、クライアントがSQLを実行したときのオーバーヘッドが少なくなります。 Ⅱ、MySQL関数をBENCHMARK関数でテストする 特定のMy…

mysqlにcsvを挿入する方法

LOAD DATA LOCAL INFILE '/home/hoge/hoge.csv' INTO TABLE `hoge` FIELDS TERMINATED BY ',' ENCLOSED BY '"' ESCAPED BY '\\' LINES TERMINATED BY '\n'; TERMINATED BY 'カラムの区切り' ENCLOSED BY '' フィールド値の両端に現れた場合、その文字は取り…

server設定rpmの場合

yum install opensslyum install mod_sslyum install httpd-devel.i386 yum install mysqlyum install mysql-serversu - mysql vi .bash_profile # .bash_profile# Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi# User specific …

mysqlのバックアップ&復元方法

存在するデータをすべてSQLにしてテキスト形式に保存 $ mysqldump -u root -x --all-databases > dump.sql 特定のデータベースのみのバックアップ $ mysqldump -u root データベース名 > dump.sql 特定のtableのみバックアップ $ mysqldump -u root --dat…

mysqlの内容確認(masterとslave)

show master status; Masterの状態表示 File欄に現在のBinaryLogファイル名と位置が表示される。 show binlog events バイナリログの中身を表示。 show slave status; Slaveの状態表示 Master_Log_FileとRead_Master_Log_PosがMasterのSQLコマンド「show mas…

レプリケーションの停止と再開

Slave Stop レプリケーションの一時停止Slave Start レプリケーションの再開

DBのチューニング

メモリー(キャッシュ)とハードディスクの速度差を意識し、 メモリーの中で処理が出来なくなって、ディスクにデータを読みに行ったら負け Ⅰ,explainを使って、DBに適切なindexをはる。http://d.hatena.ne.jp/Dogison/20090130/p1 Ⅱ,DBのクエリーの見直しどの…

explainの使い方

mysql>explain select a, b, c from table_A where a = 1 or b = 3;悪い結果using filesort(余分なソート)using temporary(一時ファイルの作成) これは、テンポラリーのバッファが利用されるので、 ORDER BY があったり、count(*) 検索していたりすると、 …

ソートをランダムにする方法

SELECT * FROM table ORDER BY RAND() MySQL の order by rand()CommentsAdd Star

DBの構築について

・更新系クエリと読み出し系クエリのユーザを分ける複数台構成のサーバにアクセスするときは更新系クエリはマスターに発行して、 読み出し系クエリはスレーブに発行するので別々のコネクションを使います。この時にマスターに接続するユーザとスレーブに繋げ…