タグ

ブックマーク / yoku0825.blogspot.com (6)

  • kamipo traditional (というかSTRICT_ALL_TABLES) では防げないMyISAMという名の化け物

    kamipo traditional (というかSTRICT_ALL_TABLES) では防げないMyISAMという名の化け物 TL;DR kamipo traditionalですら完全に防ぎきれないアレがあるので、そこを気にするなら出来る限りさっさとMyISAMからInnoDBに引っ越しましょう。 これらの記事を読んだ人向けです。 ルーク!MySQLではkamipo TRADITIONALを使え! | おそらくはそれさえも平凡な日々 Javaでkamipo traditionalを有効にする - その手の平は尻もつかめるさ アプリでミスって不正なデータが入るくらいだった500になったほうがマシ。というのが個人的な考えです。 +激しく同意+ さて、激しく同意したところで、kamipo traditionalでは倒せないMyISAMという名の化け物の話をしたいと思います。 kamipo tr

  • 現代のMySQLはもう不要にINをEXISTSに書き換えない

    漢(オトコ)のコンピュータ道: なぜMySQLのサブクエリは遅いのか。 この記事は 2009/3/25 に書かれたもののようである。 2009年3月といえばMySQL 5.1がGAになってわずか半年、MySQL 6.0.10-alphaがリリースされた頃で、MariaDBもまだ姿を見せていない頃だ。 時は流れて2015年、MySQL 5.6がGAになって早2年半、5.7のGAマダァ-? (・∀・ )っ/凵⌒☆チンチン な頃なので、もういい加減誰か言ってくれてもいいんじゃないかと思う。 もうMySQL(5.6)は不要にINをEXISTSに書き換えたりしないんだよって mysql51> EXPLAIN SELECT * FROM Country WHERE Continent = 'Asia' AND Code IN -> (SELECT CountryCode FROM City WHER

  • あなたのMySQL 5.6トレンド力をチェックする15の質問

    このエントリーは MySQL Casual Advent Calendar 2013 参加記事です。カジュアルカジュアル。 MySQL 5.6のGAリリースからはや10ヶ月、みなさんそろそろカジュアルに導入なされていることだと思います。 漢(オトコ)のコンピュータ道: 優れたMySQL DBAを見分ける27+3の質問 のオマージュです。 Islands in the byte stream: 「優れたPerlプログラマを見分ける27の質問」の日語訳 の@__gfx__さん からメンションをいただいたので作りました :) @yoku0825 最新版対応でかきなおしてくれると聞いて!+(0゚・∀・) + ? Fuji, Goro (@__gfx__) 2013, 11月 12 がんばってみます :) 独断と偏見で有名そうなの並べてあるだけですので、他にも色々ありますよ探してみましょう :)

  • MySQL 5.6.11以降のInnoDBテーブルでAUTO_INCREMENTの値を小さくできない件

    なんか変だなーと思っていたんですがすっきりしました。 mysql56> CREATE TABLE t1 (num serial, val varchar(32)) Engine= InnoDB; Query OK, 0 rows affected (0.05 sec) mysql56> SHOW CREATE TABLE t1\G *************************** 1. row *************************** Table: t1 Create Table: CREATE TABLE `t1` ( `num` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `val` varchar(32) DEFAULT NULL, UNIQUE KEY `num` (`num`) ) ENGINE=InnoDB DE

  • linux-fincoreを使ってページキャッシュを覗く

    ページキャッシュにどれだけページが載っているかを調べたいなーと思うと、 ファイルがページキャッシュに乗っているかどうかを調べる というのがよく引っかかって、 そもそもfincoreってどっから出てきた名前なんだと思ったらlinux-ftoolsというところに行き着いた。 linux-ftoolsはApacheライセンスで、PerlとINLINE Cで書かれたfincoreはGPLv2なんだけど、 どっちが家なんだかもともとオリジナルがあるのかよく判らない。 取り敢えずlinux-ftoolsを落としてきてコンパイル。 ダウンロード可能なtarballが存在しないので、hgとやらでcloneするしかなさそう。 hgコマンドが入ってなかったので、mercurialパッケージを突っ込んでから(恥ずかしながらこれ知らなかった。。) $ sudo yum install -y mercurial

  • mysqlfailoverを試したい(準備。GTIDでレプリケーション組むところまで)

    MySQL 5.6で使えるGTIDの機能を使うと、MHAみたいなことがMySQL Workbench付属の mysqlfailoverっていうユーティリティで出来るようになるよ! ということで、試してみるメモ。 まずはVirtualBoxに5.6.7を3台浮かせる。。 _| ̄|○ < 3台は重いなー。。 my.cnfに↓を設定。 log-bin=bin log-slave-update gtid-mode = ON disable-gtid-unsafe-statements 肝心なのはgtid-mode=ONだけだけど、 他のオプションも書いておかないと、 `gtid-mode=ONの時はこれつけないとダメだよ!'って怒られてmysqldが起動しなくなる(´・ω・) GTIDを有効にしたら、レプリケーションを構成しておく。 mysql> CHANGE MASTER TO MASTER_H

  • 1