タグ

mysqlに関するkhashiのブックマーク (15)

  • 漢(オトコ)のコンピュータ道: InnoDBでCOUNT()を扱う際の注意事項あれこれ。

    InnoDBを使うとき、MyISAMと比較して度々やり玉に挙げられるポイントとして「COUNT()が遅い」というものがある。確かにInnoDBにおいて行数を弾き出すのにはテーブルスキャンが必要なのだが、そもそもMyISAMのCOUNT()が速い(テーブルの行数を保持してる)のが特殊なのであって、InnoDBが遅いわけではないのである。とはいえ、高速なCOUNT()については需要が多く、この問題には多くの人取り組んでおられるようだ。しかしながら、COUNT()のチューニングについては未だ語られていない点があるように見受けられるので、今日はCOUNT()のチューニングについて解説しようと思う。 COUNT(*)、COUNT(col)、COUNT(1)の違い基的なことではあるが、COUNT(*)とCOUNT(col)では意味が異なるため、異なる結果が返される場合がある。COUNT(*)はフェッ

    漢(オトコ)のコンピュータ道: InnoDBでCOUNT()を扱う際の注意事項あれこれ。
  • MySQL を使ったお手軽メッセージキュー実装 - ドワンゴ 研究開発ブログ

    はじめに この記事では、MySQL を使って簡単なメッセージキューを手軽に実装する方法を解説します。 メッセージキューとは、メッセージを一時的に溜めておき、順次処理するための仕組みです。迅速なレスポンスが必要な Web アプリケーションにおいて、時間のかかる処理を非同期に行うために、バックグラウンドで順次処理していくような場合に利用できます。 簡単なメッセージキューと言っても、大規模な運用にも耐えられる程度の速度と堅牢性を持ちます。 また、ここで解説している方法で作られたメッセージキューは、弊社ウェブサービスであるニコニコ動画に最近追加されたtwitter連携機能でも利用しています。 メッセージキューを作るにあたって 今回実装するメッセージキューは メッセージの追加(push)を高速に行う事ができる メッセージの取得(pop)はある程度高速に行う事ができる 多くのクライアントから同時に p

  • (特にMyISAMを使っていた)ウェブ屋さんがInnoDBを使う場合の設定項目 - kazuhoのメモ置き場

    InnoDBはMyISAMと比較して安全(OSクラッシュや電源断が発生してもテーブルが壊れない)分、書き込みが遅い。データベース屋さんからすると、それは当然のことでMyISAMがおかしいんだ、ということになり、だからバッテリバックアップ機能のついたRAIDカードを使うんだ、という話になる。でも、MyISAMを使っているウェブ屋さんの現場では、場合によって多少データが消えてもかまわないから、安いハードウェアで大量のアクセスを捌きたい... って乖離があるんじゃないかなーと思ってる。 そのような場合には、my.cnf の innodb_flush_log_at_trx_commit パラメータを調整することで、MyISAMに比肩する書き込み速度を得ることができる(そのかわり、クラッシュや電源断の場合は、設定によって直近1秒以内の変更が失われる)。 他のパラメータも含めて書いておくと、データベー

    (特にMyISAMを使っていた)ウェブ屋さんがInnoDBを使う場合の設定項目 - kazuhoのメモ置き場
  • ricollab Web Tech Blog » Blog Archive » MySQLパーティショニングについて(その1:基本知識編)

    初めまして、リコーの濱田です。このたび私もブログを担当することになりました。今後ともよろしくお願いいたします。 エントリではデータベースに関する技術トピックとして、MySQL 5.1 から導入された機能であるパーティショニングについて書こうと思います。少し長くなりそうなので、「基知識編」「性能検証編」の2回に分けて書くことにします。 今回は「基知識編」として、パーティショニングの概要と基的な使い方について紹介します。 パーティショニングの概要 パーティショニングとは、事前に設定されたルールに従ってデータをパーティションと呼ばれる部分的なテーブルに分割する仕組みです。 データ挿入時には、設定ルールに従ってデータが該当するパーティションに自動的に振り分けられます。データ参照時には、オプティマイザがクエリから必要なパーティションを判断し、該当するパーティションのみにアクセスします。これ

    khashi
    khashi 2009/10/21
  • 狙われるphpMyAdmin、攻撃のきっかけは?

    狙われるphpMyAdmin、攻撃のきっかけは?:川口洋のセキュリティ・プライベート・アイズ(19) 川口、全国を飛び回ってます。 皆さんこんにちは、川口です。先日、私は島根に出張をしていました。せっかく島根という地に行くのですから各地の方と交流したいと思い、山陰ITPro勉強会(通称 SITW:しちゅー)での勉強会に参加してきました。 実は8月27日の夕方に、“勉強会エバンジェリスト”のまっちゃさんと話をしていてSITWの担当者の方に連絡を取ってもらえることになりました。そして28日に勉強会内容の調整、告知を一気に行い、週明けの9月2日に無事開催することができました。急な開催告知にもかかわらず、13人も参加してくれました。 勉強会の内容は参加した人だけのお楽しみということで割愛しますが、楽しんでいただけたのではないかと思っています。意外だったのは島根でIPS製品を開発している企業の方が参

    狙われるphpMyAdmin、攻撃のきっかけは?
  • 漢(オトコ)のコンピュータ道: MySQLを高速化する10の方法

    ちょっとキャッチ−なタイトルをつけてしまったが、今日は独断と偏見でMySQLを高速化する方法を10個紹介しよう。MySQLサーバをチューニングするときや初期導入する場合などに参考にしてもらいたい。 1. バッファを増やす、または減らす チューニングの基中の基であるが、適切なバッファサイズを設定することはパフォーマンスチューニングの要である。主なバッファは次の通り。 innodb_buffer_pool_size・・・InnoDBだけを利用する場合は空きメモリの7〜8割程度を割り当てる最も重要なバッファである。余談だが、実際にはここで割り当てた値の5〜10%ぐらいを多めにメモリを使うので注意が必要だ。 key_buffer_size・・・MyISAMだけを利用する場合は、空きメモリの3割程度を割り当てるといい。残りはファイルシステムのキャッシュ用に残しておこう。 sort_buffer_

    漢(オトコ)のコンピュータ道: MySQLを高速化する10の方法
  • MySQLのデータをシフトJISからUTF-8に変換した際の記録 - sanonosa システム管理コラム集

    今回のエントリーは、先日Shift JISで作っていたデータを多言語対応にすべくUNICODEに変換しようとしたとき苦労した際の記録です。 今回対象としたのは、MySQLからdumpした100MB近くあるデータです。 【一通りの手順】 まずMySQLからデータをdumpします。 % mysqldump [database name] > dump.sql 次にdump.sqlをmoreしてみると「DEFAULT CHARSET=sjis」という記述があるのでこれをutf8に変更します。 % perl -p -w -e 's/sjis/utf8/g' dump.sql > dump2.sql ただいくらDEFAULT CHARSETをutf8に変えても実際のデータがシフトJISなので、データ自体もUTF-8に変えます。 % iconv -c -f shift_jis -t utf-8 dum

    MySQLのデータをシフトJISからUTF-8に変換した際の記録 - sanonosa システム管理コラム集
  • MySQLバックアップ時の文字コードトラブル - うるめねっと技研 - Linux派 -

    先日、XREAのMySQLデータベースをバックアップしたのだが、文字コードのトラブルでリストアできないことに気づいた。 経緯と対策を整理してみる。 問題は、MySQLの文字コードが4種類指定できてしまうことから来ている。 設定はmysqlに接続した状態でstatusコマンドを入力すると確認できる。 mysql> status Server characterset: latin1 Db characterset: latin1 Client characterset: latin1 Conn. characterset: latin1 このうち、表データそのものはDb characterstの文字コードで格納されているが、mysqldumpコマンドで出力される文字コードはServer charactersetになる。 上の例ではたまたまlatin1に揃っている(latin

  • MySQLクイック・リファレンス

    この文書は、osCommerceで使用しているデータベースMySQLの基的な使い方について解説しています。おもにデータベースの管理者よりも、ユーザに向けて書かれています。 はじめに ここでは、MySQLサーバは起動しているものとして説明します。 MySQLの文字について MySQLでは、データベース名やテーブル名の大文字と小文字を区別しています。それ以外は区別しません。 MySQLのフィールド名やテーブル名に使える文字は、英数字と_(アンダーバー)、$、サーバのキャラクタセットにある文字です。 知っておきたいコマンド mysqladmin(データベースの作成・削除や、MySQLサーバの情報を得る) mysqlshow(データベース、テーブルの情報を表示する) mysqlMySQLクライアントの起動) mysqldump(データベース、テーブルをダンプする) myisamchk(テーブル

  • MySQL各種Tips

    ここでは、MySQLに関する事を書いていきます。 新しく書いたものが上になるように並べてあります。 新しくユーザ(権限)を追加する MySQLではOracleなどとデータベース・スキーマ・ユーザの考え方が違います。 ユーザ情報は、mysqlデータベースという特別なデータベースにより管理されています。 ここには host, user などいくつかの権限に関するテーブルが用意されていて ここにレコードを作成したりすることで、各種権限管理を行います。 MySQL4以降では、このテーブルを直接いじることなくユーザ管理を行うコマンドが用意されました。 それが GRANT / REVOKE 構文です。他のデータベースではおなじみですね。 MySQLではユーザを追加するときに、以下の情報を入力する必要があります。 追加したいユーザ名 接続可能なホスト名 接続可能なデータベースおよびテーブル名 接続すると

    khashi
    khashi 2006/12/13
  • MySQLを自動バックアップする「AutoMySQLBackup」

    バックアップするのが面倒なMySQLデータベースを自動的にバックアップできるようになるスクリプトです。 いくつものデータベースを一括でバックアップできます。1つのファイルとしてまとめてバックアップすることもできるし、各データベースごとに分けてバックアップすることもできます。バックアップファイルはgzipかbzip2で圧縮されているのでディスク容量もいません。リモートのMySQLを中央のMySQLにバックアップしたり、バックアップのログをメールで送ることも可能。バックアップしたファイル自体をメールで送ることもできます。バックアップはcronを使う以外に手動で行うことも可能なので、cronがなくてもバックアップはできます。 ダウンロードと詳細は以下の通り。 Automatic MySQL Backup SourceForge.net: AutoMySQLBackup 最小限の設定ですぐに使う

    MySQLを自動バックアップする「AutoMySQLBackup」
  • apache friends - xampp

    Hi Apache Friends! We just released a new version of XAMPP for Windows for PHP versions 8.2.12, 8.1.25 and 8.0.30. New versions for Linux and OS X will come soon! You can download these new installers... Read more » About Apache Friends Apache Friends is a non-profit project to promote the Apache web server and is home to the XAMPP project. XAMPP is an easy to install Apache distribution containin

  • MAMP & MAMP PRO - your local web development solution for PHP and WordPress development

    MAMP PRO for Windows MAMP PRO is the commercial, professional frontend for the classic local server environment: MAMP. With MAMP PRO you can create a separate host for each of your web projects. You can install WordPress and other Extras like Joomla or Drupal with just a few clicks. This is just a small part of what you can do with MAMP PRO. Learn more about MAMP PRO Buy MAMP PRO for Windows MAMP

    MAMP & MAMP PRO - your local web development solution for PHP and WordPress development
  • MAMP & MAMP PRO - die lokale Webserver Entwicklungsumgebung für PHP - und WordPress-Entwicklung

    MAMP PRO für Windows MAMP PRO ist das kommerzielle, professionelle Frontend für den Klassiker unter den lokalen Serverumgebungen: MAMP. Mit MAMP PRO können Sie für jedes Ihrer Webprojekte einen eigenen Host anlegen. WordPress und andere Extras installieren Sie mit wenigen Klick. Dies ist nur ein kleiner Ausschnitt dessen, wie Sie MAMP PRO in der Webentwicklung einsetzen können. Mehr über MAMP PRO

    MAMP & MAMP PRO - die lokale Webserver Entwicklungsumgebung für PHP - und WordPress-Entwicklung
  • AJAXとPHPとMySQLを使ったRSSリーダーの作り方 - GIGAZINE

    IBMにAJAXとPHPMySQLを使ったRSSリーダーの作り方が掲載されています。 いわゆるサーバインストール型のRSSリーダーについて、個人で使うだけではなくその結果を閲覧者に見せるためのモードも搭載するという非常に凝ったものになっています。 ソースコードもダウンロードでき、実際のスクリーンショットなども使って解説されているのでRSSリーダーを作りたいと思っている人にはかなり有益な情報になるのではないかと。 作り方とコードのダウンロードは以下から。 Ajax RSS reader そのほかにも日語で書いてあるのは以下のようなページ。 「Ajax + PHP」でRSSリーダーを作る : きまぐれ日記2『オンとオフの狭間』 http://sakipapa.sakura.ne.jp/blog/2006/03/002534.php Ajaxを使おう RSSリーダーを作る - [JavaSc

    AJAXとPHPとMySQLを使ったRSSリーダーの作り方 - GIGAZINE
  • 1