MySQL

PHPからMySQLにSSL接続する(1)

はまった2

MySQLにはHEAPテーブルっちゅーメモリ上にデータを展開するデータストレージが用意されています。メモリ上にあるので、非常に高速にアクセスできます。もちろん制限がいくつかありますが。もちろん、いきなりMySQLが落ちてしまったら、ファイルには書き出し…

はまった1

時刻を比較する場合、時刻型(time or datetime)を普通に加減算してたんやけど、これは全然認められていないことがわかった。例えば、開始時刻(StartDateTime)をカラムとして持つテーブルで、10秒前までのレコードを全部抜き出したかったら、select * from so…

MySQL Hack(2):MySQLをダウンロードする

MySQLのホームページからダウンロードします。だけどこれがまたわかりにくい!!まずメニューに「ダウンロード」という項目がありません。さて、みなさん、どうやってダウンロードページを見つけますか? 実は、、、「F.A.Q.」からダウンロードページに行く…

MySQL Hack(1):VC++をインストールする

# 一度書き上げたんですが、登録するボタンを押したらブラウザが落ちやがりました。そのため、やる気ナッシングになり、記述がちょっと手抜きです。ゴメンナサイ VC++のインスコこちらから、インスコしてください。 PlatformSDKのインスコこちらから、ダウンロー…

MySQL Hack(0)

強力なデバッガ機能を有するVC++が無料で使えるようになったので、いっちょこれを使って、MySQLをデバッグ版で起動したり、MySQLのWindows用インストーラでインストールされるMySQLと、VC++でビルドしたMySQLで、パフォーマンスに差があるのかを測定したりと…

load data コマンドの落とし穴

このコマンドは非常に厄介。何が厄介かというと、文字コード。 暗黙のうちに、データベースの文字コードと一致した文字コードを想定している。 つまり、CREATE DATABASE `db` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin; use db; CREATE TABLE `t` ( name…

InnoDBのIsolationLevel

InnoDBのデフォルトIsolationLevelは、Repeatable Readだ。Oracle使いな人には、最初ちょっと戸惑うかもしれないけど、私はこれがデフォルトになってくれている方が自然な気がするので、賛成派である。んでこのRepeatable Readは通常とは少し違っており、Pha…

共有行ロックと排他行ロックの違い

select ... for update; select ... lock in share mode;の違いがよくわからなかった。 データを更新する時に必要なロックは、for update データを参照する時に必要なロックは、share mode と体感的に理解できるのだが、どちらのロックを取ったときも、他の…