銀河鉄道~ぽんこつエンジニアのブログ~

思いつきで書いています。

MySQL MEMORYストレージエンジンとテンポラリテーブルについて

MySQLは、テーブル作成の際、いくつかのストレージエンジンから選択することができます。

デフォルトはInnoDB。その他、MyISM、MEMORYなど様々な種類があります。

 

MEMORYストレージエンジンは、格納されたデータがすべてメモリ上に保持されます。

InnDBやMyISMでは、データはハードディスクへ書き込まれるため、読み書きのオーバーヘッドがなく、IOが非常に高速になります。

 

ただし以下の注意点があります。

1、メモリ上にデータを保持するため、DBサーバーが落とされると格納されたデータは消える。(空のテーブルのみ残る。)

2、ロック制御がテーブルロック(MyISMと同様、InnoDBは行ロック)のため、並列処理でパフォーマンスが落ちやすい。

3、カラムはすべて固定長に変換されるため、一レコードのバイト数が多くなる。また、BLOB、TEXTは使用できない。

4、インデックスは「HASH」がデフォルト。InnoDBやMyISMは「BTREE」がデフォルト。どちらも使用可能。「HASH」は場合によって遅くなる可能性あり。

 

2、の解決案として、一時テーブル(Temporary Table)として使えば、クライアントごとに別々になるため並列アクセスが起きなくできる。

結果、パフォーマンスを保てるのではないか。

 

ただ、一時テーブルは指定の容量を超えると自動的にInnoDBに変換されるため、変換コストが発生するという話もあるが、、、

 

(以下追記

⇒ユーザーが作成したMERORYテーブルは変換されないと公式に見つけた。

⇒CREATE TEMPORARY TEBLEで作成されたMEMORYテーブルは自動変換されない。自動変換されるのはあくまで、内部的に自動で作られる一時テーブルのみ。

straight_join

一般的には、joinの順序はオプティマイザが一番効率の良い順序を探し、

その順番で実行してくれます。

しかし、まれにそれよりもレスポンスの良い順序に指定したい場合があります。
MySQLでは、そのような場合、joinの代わりに、straight_joinを使います。
 
straight_joinは、左のテーブルの次に右のテーブルを読み込むことを強制します。
ある場合においてはstraight_joinを使用することでパフォーマンスが改善する可能性があります。
 
ただし、オプティマイザは、データ数やSQLの条件によって順序を決めていますので、
straight_joinを使って順序を固定することで逆にパフォーマンスが落ちる可能性もあります。

ビリギャルを見てきました。

友人に誘われ、ビリギャルを見てきました。

内容としては高校受験の女子高生を主人公としたお話しなので
受験生やその親御さんには現実とリンクしてみれるのはもちろんですが、
やりたいことがみつからない若者や仕事で行き詰っている人たちにも得るものがある映画だと思います。

一番感じたのは、「自分はここまでがんばったことがあったかな」ということ。自分を振り返ってみて、
何かと理由をつけてがんばることを避けてきたような気がしました。
人生で一回くらいがんばってみてもいいのかなと感じました。

そして「人の幸せのために働く仕事」
自分の仕事は、働き方はどうなんだろうと考えました。

映画自体は受験の話ですが、それを中心に、映画をみる人それぞれによって、それぞれのテーマで見られる映画だと思います。

賛否両論な意見もあるようですが、批判的な目で見ればたぶん突っ込みどころはたくさんあるんでしょう。
そんな見方をするのはもったいない映画です。


素直な気持ちで見れれば、見終わった後に、良い刺激を受けられたと感じられる映画だと思います。

 

オリンパス PEN Lite E-PL1

ミラーレス一眼を買いました。

中古です。
オリンパスE-PL1Canon FD50mm F1.4というオールドレンズの組み合わせです。
カメラとレンズとアダプター、合わせて17000円くらいでした。
f:id:giovanni0517:20150628022016j:image

写真はずっとiPhoneで撮っていて、それはそれで便利だったんだけど、
まえまえからミラーレス一眼レフが欲しかったんですが、値段も高いので諦めてました。

そんな折、中古で型落ちなら、全部入れて2万切ることがわかり、
しかも偶然、E-PL1にオールドレンズ付けてる写真を見て、
一目惚れし衝動買いしてしまいました。

レンズはフィルムカメラと時代のものですが、
Canonの標準レンズと言われた単焦点レンズだけあって十分使えます。

とはいえ、もともとマイクロフォーサーズE-PL1にアダプターを介して
FDレンズをつけているので、AFなんてありません。
ピント合わせはマニュアルオンリーです。
アダプターについては、中国製のリーズナブルなやつを買いましたが、
全くカタカタいうこともなくしっかり固定できてます。
もしかしたら当たりハズレがあるかもしれませんが…。

しばらくは素敵なおもちゃになりそうです。


自信

自信がなくなってくると、不安に襲われる。
クビになったらどうしよう。
仕事ができないどうしよう。
不安はとても強い。捕まると動けなくなる。

根拠のない自信を持つことも大事。
小さな成功体験を積み重ねることが大事。

不安の方が実は根拠がなかったりする。