タグ

mysqlに関するseuzoのブックマーク (9)

  • MySQL と寿司ビール問題 - かみぽわーる

    MySQL と Unicode Collation Algorithm (UCA) - かみぽわーる に関連するトピックで、 MySQL には寿司ビール問題というのがある。 寿司ビール問題どっかで詳しくお話を聞くべきだよなぁ。。。— RKajiyama (@RKajiyama) March 18, 2015 これはどういう問題かというと、 MySQL の Unicode では binary collation にしてコードポイントで比較しないと🍣と🍺に限らず絵文字が同値判定されるという問題です。 あれ? MySQL の utf8mb4 charset って、4バイト文字同士を比較すると同じ文字扱いされる? SELECT '🍣'='🍺' → 1 MySQL的には寿司とビールは同じ扱い。— とみたまさひろ (@tmtms) December 22, 2014 MySQLで select

    MySQL と寿司ビール問題 - かみぽわーる
  • 放置されていたMySQLのバグ、バグ報告から7年が経ったことを記念してケーキが贈られる | スラド IT

    2006年6月29日に報告されたMySQLのバグ#20786は、修正されないまま放置され、ついに7年が経過した。これを記念して、YouTubeにMySQL Bug #20786 gets cakeなる動画がアップされた。「7」の形にろうそくを立てられたケーキが、このバグレポートに捧げられている。 バグの内容は、mysqldumpコマンドの「--no-data」オプションが意図したとおりに動作していないというもの。出力をsedで整形すればいいじゃんということで、重要とは見なされずに放置されていた模様。しかも、「修正したらこれまでとの互換性がなくなる」という話まで挙がっている。不具合も放置すれば仕様になってしまうということか。

    seuzo
    seuzo 2013/07/02
    バグ、仕様の河を渡る。
  • はじめての MySQL で100万件のデータを管理する時に行ったチューニングまとめ

    MySQL の勉強をせずにフレームワーク等で SQL を書かずに Web サイトを構築していました。データ数も2万件程度でしたので、そこまで困ることはありませんでしたが、今回100万弱の商品データを扱う機会ができたので、MySQL のチューニングや発行する SQL について見直す機会がありました。 この記事では MySQL を高速化するのに行った対策など勉強したものを自分用にメモしておきました。 条件式で比較するカラムにインデックスを使用して高速化 商品コードで存在しない商品を見つけて、商品をDBに登録するという処理を行っている場合、4万件超えたころから処理に2秒以上かかるようになってきます。12万件超えた頃には10秒程度かかるようになってしまいましたが、商品コードのフィールドに対してカラムインデックスを貼ることで0.2秒に短縮することができました。 MySQL のリファレンスにも以下のよ

  • MOONGIFT: » たった1ファイルのMySQLフロントエンド「phpMinAdmin」:オープンソースを毎日紹介

    MySQLを使った開発において、その管理インタフェースによく使われるのがphpMyAdminだ。とても便利で使いやすいソフトウェアではあるが、長い開発の歴史の中で肥大化し、様々なニーズに対応し、そのファイル数も数多くなってきている。 テーブル構造の表示 便利になることは悪いことではないが、あまり肥大化したアプリケーションは設置の手間や、問題が発生した時の解決手段が分からなかったりと問題も出てきてしまう。そこで一気にスリムなこれを使ってみよう。 今回紹介するオープンソース・ソフトウェアはphpMinAdmin、1ファイルのMySQLフロントエンドだ。 phpMinAdminはPHP製のソフトウェアで、たった1ファイルしか配布されていない。これを設置するだけでMySQLの管理が行えるようになる。ユーザの権限設定や、データベースの選択からはじまり、一通りの操作ができる。 データの一覧表示 テーブ

    MOONGIFT: » たった1ファイルのMySQLフロントエンド「phpMinAdmin」:オープンソースを毎日紹介
  • mysqlコマンドで、テーブル名とかカラム名の補完(completion)をする方法 - (ひ)メモ

    追記: rehash(auto-rehashも含む)すると、SQL文の補完(seleでタブ打鍵とか)が効かなくなるよと、はす向かいの人に教えてもらいました。 個人的には、SQLは「mysql> help select」とかでオンラインヘルプがびょっと出るので、スキーマの補完ができるんならSQLの補完はとりあえずあきらめてもいいかなと思っています。 常々、テーブル名とか補完できるといいなーと思っていたので、ボロっときいてみたら教えてもらいました。あざーーーーっす! id:mikihoshi++ id:tokuhirom++ id:precuredaisuki++ おかげで効率が300%上がりました。(Benchmark::Stopwatchで計測) http://dev.mysql.com/doc/refman/5.1/en/mysql-command-options.html#option

    mysqlコマンドで、テーブル名とかカラム名の補完(completion)をする方法 - (ひ)メモ
    seuzo
    seuzo 2008/01/23
  • MySQL AB :: MySQL 4.1 リファレンスマニュアル

    概要 これは MySQL リファレンスマニュアルです。 MySQL 8.0 から 8.0.25、および NDB のバージョン 8.0 から 8.0.25-ndb-8.0.25 に基づく NDB Cluster リリースについてそれぞれ説明します。 まだリリースされていない MySQL バージョンの機能のドキュメントが含まれている場合があります。 リリースされたバージョンの詳細は、「MySQL 8.0 リリースノート」を参照してください。 MySQL 8.0 の機能. このマニュアルでは、MySQL 8.0 のエディションによっては含まれていない機能について説明します。このような機能は、ご自身にライセンス付与されている MySQL 8.0 のエディションに含まれていない場合があります。 MySQL 8.0 の使用しているエディションに含まれる機能に関する質問がある場合は、MySQL 8.0

    seuzo
    seuzo 2007/08/28
  • MySQL/Ruby

    [English] これは MySQLRuby API です。MySQL の C API とほぼ同等の機能があります。 ダウンロード RubyForge tmtm.org 必要なもの MySQL 5.0.67 Ruby 1.8.7, 1.9.1 これら以外でも make できるかもしれませんが、確認してません。 ライセンス このプログラムは Ruby ライセンス に従います。 インストール 次を実行してください。 % ruby extconf.rb または % ruby extconf.rb --with-mysql-dir=/usr/local/mysql または % ruby extconf.rb --with-mysql-config それから % make extconf.rb には次のオプションを指定できます。 --with-mysql-include=dir MySQL

  • MySQLノウハウ

    いろいろなからメモってきたメモのメモ。出典を書いておくのを忘れた。思い出し次第補完するかも。 deleteのコストは高いので、無効化を示すフィールドを作ってupdateすべき slow query logに要注意 多くのエントリでほとんどのフィールドが同じ値を持つ場合はインデックスの効果が小さい →複合インデックスの効果が大きい 複合インデックスは指定の順番が大切。AとBという指定の場合、A単独でもインデックスの効果がある。逆は真でない。 インデックスが使われる場面は フィールド値を定数と比較するとき (where name = 'hogehoge') フィールド値でJOINするとき (where a.name = b.name) フィールド値の範囲を求めるとき (<,>,between) LIKE句が文字列から始まるとき (where name like 'hoge%') min(),

    seuzo
    seuzo 2007/07/13
  • Open Tech Press | MySQLデータのバックアップ方法

    2007年5月31日10:53 Tom-Adelstein、Bill-Lubanovic(2007年5月29日(火)) ファイルやディレクトリのバックアップは比較的簡単だが、データベースのバックアップとなると、いくつか特別な工夫を施す必要がある。ここではMySQLを取り上げているが、同じ原理はPostgreSQLやその他のリレーショナルデータベースにもあてはまる。 稿は、最近O’Reillyから出版された書籍『 Linux System Administration 』の抜粋。 MySQLサーバを休みなく稼働させ続ける必要がないなら、以下に示すような圧縮なしのオフラインバックアップ手法が手っとり早い。 MySQLサーバを停止させる。 # /etc/init.d/mysqld stop MySQLのデータファイルおよびディレクトリをコピーする。例えば、MySQLのデータディレクトリ/var

    Open Tech Press | MySQLデータのバックアップ方法
    seuzo
    seuzo 2007/06/01
  • 1