Tag: mysqlが付けられた記事

MySQLの複数DBダンプから特定のDBダンプだけを取り出す方法

mysqldumpを使って全てのデータベースをバックアップしたダンプファイルから特定のデータベースのみを別ファイルに切り出す方法。 –all-databases オプションを指定してダンプを取ると全DBのバックアップが出来ますが、特定のDBのみを復元したい事があります。その時にダンプファイルサイズが50GB、必要なダンプは100MB、という時に全てを復元するのは大変なのです。全ダンプを… 続きを読む

MySQLでインデックスを使わなくなるケース

MySQLではインデックスを使用しても30%以上のレコードにアクセスしなければならない時インデックスは使用されない。が、LIMIT句があればインデックスを使用する。 MySQL では利用可能な場合でもインデックスが使用されない場合があることに注意してください。この一例として、インデックスの使用によって、MySQL がテーブルの 30% を超えるレコードにアクセスする必要が生じる場合が挙げられます(… 続きを読む

PEAR::MDB2_Driver_mysqliとSJIS

PEAR::MDB2のmysqliドライバを使用してキャラクタセットにSJISを使う時の注意。 SET NAMES sjis; 上記SQLの発行だけだと(cp932でも)プレースホルダのエスケープが上手く行われない場合がある。問題が起こるのはプレースホルダの引数に渡した文字の最終文字が特定の文字の場合。 以下の文字が該当し共通点は2バイト目が0×5c(ASCIIコードのに該当)なのでSQLのエスケ… 続きを読む

ほぼ年齢の計算式

年齢の計算式は良く使う。 MySQLはマニュアルにも書いてあるけど。 SELECT (YEAR(CURDATE())-YEAR(`birth`)) – (RIGHT(CURDATE(), 5) > RIGHT(`birth`, 5)) AS `age` プログラムで書く場合 ((現在日時-生年月日)/10000) 切り上げ $birth = 19830221; echo (int) ((da… 続きを読む

条件に一致する記事を全て表示しました