おもしろwebサービス開発日記

Ruby や Rails を中心に、web技術について書いています

mysql

MySQLのメモリ構成まとめ

一度マインドマップとして紙にまとめたけど、結局なかなか見返さないのでブログに書いて復習する試み。 インスタンス全体で共有するメモリ領域 クエリキャッシュ SELECT文の実行結果をキャッシュする query_cache_sizeで容量を指定 テーブルが更新されるとキ…

varcharの最大長を必要な分だけ設定する意味

mysqlのデータ型の一つvarcharは可変長の文字列を格納します。なので、最大長をいくつに設定してもハードディスク的に必要な容量は同じです。例えば'hello'という文字列を格納するとしたら varchar(5) varchar(200) のどっちの定義でも必要なのは5文字分の容…

countよりもcount_by_sqlの方がいいかも

前書いた書きかけのメモを発見したので加筆して載せてみます。ちなみにこの話はMysql(InnoDB)利用時限定です。モデルのcountメソッドは SELECT count(*) AS count_all FROM `blogs` のようなSQL文を発行します。このようなSQL文では、基本的に主キーインデッ…

いつの間にかvalidates_uniqueness_ofの仕様が変わっている件

別ブログに書いてたものをまとめてみました。 case_sensitiveで大文字と小文字を区別・・・できない - おもしろWEBサービス開発日記のrailsメモ - railsグループ 昔の仕様 これまで、mysqlを使用しているとき、値の唯一性をチェックするvalidates_uniqueness…

NUMERIC型の最大桁数の仕様が変更されている件

最近、「現場で使えるMySQL」を読んでMySQLを勉強し直してます。その本の中で、小数を扱うデータ型のNUMERIC型の定義について下記のように書いてありました。 NUMERIC型はOracleのNUMBER型と同様、NUMERIC(p,n)という形で定義され、pは全体の有効桁数、nは小…

ubuntuでのmysqlパスワード設定

ubuntu8.0.4にCentOSの時と同じようにmysqlの初期設定をしようとしたのですが mysql_install_db mysqld_safe --user=mysql & mysqladmin -u root password xxxxxxxx 最後のmysqladminでエラー。仕方がないのでパスワードを初期化して設定することに。 mysql…

mysqlでのバックアップ/リカバリについて

調べたことをメモメモ コールドバックアップ コールドバックアップとは、インスタンス停止して行うバックアップのこと。 コールドバックアップの方法 データファイルをtarなどで固めてどこか別の場所に置いておくだけ。 コールドバックアップのリカバリ方法 …