タグ

MySQLに関するhiro1963のブックマーク (40)

  • これだけは覚えておきたい!!MySQL の6つの自動変換 - sakaikの日々雑感~(T)編

    MySQLはとても気ぃつかい屋さんである。我々が投げる多少あいまいな指示も頑張って解釈し、なんとか文句を言わずに実行してみようと挑戦してみてくれる。 今日はそんなMySQLがケナゲに解釈してくれる自動変換について紹介しようと思う。この自動変換、ケナゲなMySQLの奥ゆかしさ故、出した指示と異なる動作をされたことに気がつかないことがある。ここで紹介する6つの自動変換をしっかり脳ミソにたたき込んでおけば、無用なトラブルにハマる時間も減るかもしれない。 1.[数値] 範囲外の数値は頭を押さえつけられる intやsmallint、bigintなどの数値型には、扱える範囲が決まっている。例えばint型なら最大21億ちょっとだ(unsignedの場合は43億弱)。これより大きい数字を登録するよう指示を出すとMySQLはどうするか。そう、頑張って入れられるところまで入れてくれるのである。「入れられるとこ

    これだけは覚えておきたい!!MySQL の6つの自動変換 - sakaikの日々雑感~(T)編
  • もう1つの、DBのかたち、分散Key-Valueストアとは

    もう1つの、DBのかたち、分散Key-Valueストアとは:分散Key-Valueストアの命「Bigtable」(1)(1/3 ページ) RDBとは別の、クラウド時代のデータベースとして注目を浴びている「分散Key-Valueストア」。その命ともいえる、Googleの数々のサービスの基盤技術「Bigtable」について徹底解説 クラウド時代のデータベース「分散Key-Valueストア」 グーグルがインターネットの世界をここまで席けんできた最大の理由は何でしょうか。実は、それは同社の優れた検索技術ではありません。グーグルが成し遂げた最も大きなブレークスルーの1つは、同社が生み出した巨大な分散データストア、「Bigtable」にあります。 Bigtableは、Google検索をはじめ、YouTubeやGoogle MapGoogle Earth、Google Analytics、Goog

    もう1つの、DBのかたち、分散Key-Valueストアとは
  • データベースを用いたセッションデータ管理について - LukeSilvia’s diary

    Web アプリケーションとは切っても切れないセッション機構。DB ベースでセッション管理を行なって得られた知見と、それを元に考察した結果をまとめてみます。 セッションデータの特性 DB で管理される他のデータに比べ、セッションデータはかなり特殊です。主な特徴は次のような感じ。 データが増加するのが速い 定期的な削除が必要 頻繁に更新される リクエスト毎に読みに行く必要がある このデータを読めないとアプリケーション全体にアクセスできない アクセス頻度が高いということです。あと、1つ目の特徴からセッションデータについては意識的に管理してやる必要があります。 現在の環境 アプリケーションの領域が少し特殊で、セッションデータがやたらたまります(ユーザ数何百万のサービスとかそういうのではないです)。 RDBMS MySQL 4.0.22 ストレージエンジン InnoDB レコード数 6千万 テータサ

    データベースを用いたセッションデータ管理について - LukeSilvia’s diary
  • やってはいけない!!MySQLに悲鳴をあげさせる10の方法

    いつも「MySQLを使うときはこうするべき」という観点から記事を書いているが、今日は逆に犯してはいけない過ちをリストアップしようと思う。 1. 全てのカラムにインデックスをつけるデータベース初心者がもっともやってしまいがちな間違いはコレではないだろうか。インデックスはいい。検索がとても速くなるから。しかし、それと引き替えにインデックスは更新するときにコストがかかるし、その分多くのディスクスペースを消費する。特に更新にかかるコストは時に甚大で、該当するインデックスのページがキャッシュ上にない場合はディスクからいったんそのページを読み込まなければいけない。ディスクアクセスは動作にとても時間がかかるので、インデックスが多数、例えば全てのカラムに付いていたりすると「あれ?固まったか?」というような状態になってしまうことがあるだろう。インデックスは必要なカラムにだけつけるようにテーブルを設計しよう。

    やってはいけない!!MySQLに悲鳴をあげさせる10の方法
  • MySQLのEXPLAINを徹底解説!!

    以前、MySQLを高速化する10の方法という投稿で「EXPLAINの見方についてはいずれ解説しようと思う」と書いてしまったので、今日はその公約?を果たそうと思う。 MySQLのチューニングで最も大切なのは、クエリとスキーマの最適化である。スキーマの設計は一度決めてしまうとそのテーブルを利用する全てのクエリに影響してしまうためなかなか変更することは出来ないが、クエリはそのクエリだけを書き直せば良いので変更の敷居は低い。そして遅いクエリをなくすことは、性能を大幅に向上させるための最も有効な手段である。従って、アプリケーションの性能を向上させたいなら、まず最初にクエリのチューニングを検討するべきなのである。 最適化するべきクエリはスロークエリログやクエリアナライザで見付けられるが、ではそのようなクエリが見つかった場合にはどのように最適化すればいいのか?そのためにはまず現在どのようにクエリが実行さ

    MySQLのEXPLAINを徹底解説!!
  • なぜMySQLのサブクエリは遅いのか。

    よくMySQLはサブクエリが弱いと言われるが、これは当だろうか?半分は当で半分は嘘である。MySQLのサブクエリだってなんでもかんでも遅いわけではない。落とし穴をしっかり避け、使いどころを間違えなければサブクエリも高速に実行できるのである。今日はMySQLがどんな風にサブクエリを実行し、どのような場合に遅いのかということについて説明しよう。 EXPLAINで実行計画を調べた際に、select_typeにはクエリの種類が表示されるのだが、代表的なサブクエリには次の3つのパターンがある。 SUBQUERY DEPENDENT SUBQUERY DERIVED 結論から言おう。遅いのは2番目、DEPENDENT SUBQUERYである。DEPENDENT SUBQUERYとはいわゆる相関サブクエリに相当するもので、サブクエリにおいて外部クエリのカラムを参照しているサブクエリのことである。そし

    なぜMySQLのサブクエリは遅いのか。
  • さらにMySQLを高速化する7つの方法

    MySQLを高速化する10の方法という記事がとても好評だったようである。記事を読んで頂いた皆さん、ありがとう。 この記事に対する便乗(?)でWeb屋のネタ帳: PostgreSQLを高速化する16のポイントという記事を書いて頂いたようだが、そちらの方もかなり人気だったようである。他人が作ったソフトウェアに改良を加えるというフリーソフトウェアやオープンソースソフトウェアの精神も基は便乗であるので、便乗については大いに賛成したいというかむしろ取り上げてくれてありがとう!!と思うわけであるが、ここでさらに俺はこう考える。 と。 Web屋のネタ帳さんの記事では16のポイントが紹介されているが、漢(オトコ)のコンピュータ道の記事は10の方法だったのであと6つ足りない。オトコは数で勝負!!というわけで今日はネタを振り絞ってさらに7つのMySQL高速化テクニックを紹介しよう。 1. インテルコンパイラ

    さらにMySQLを高速化する7つの方法
  • HowFriendFeedUsesMySqlToStoreSchemaLessData - FriendFeed では MySQL を使いどのようにスキーマレスのデータを保存しているのか

    HowFriendFeedUsesMySqlToStoreSchemaLessData - FriendFeed では MySQL を使いどのようにスキーマレスのデータを保存しているのか 目次 この記事について FriendFeed? では MySQL を使いどのようにスキーマレスのデータを保存しているのか 背景 概観 詳細 一貫性と原子性 性能 FriendFeed? では MySQL を使いどのようにスキーマレスのデータを保存しているのか この記事について "How FriendFeed? uses MySQL to store schema-less data" の日語訳です http://bret.appspot.com/entry/how-friendfeed-uses-mysql CC 2.5 でライセンスされています: http://creativecommons.org/

  • 漢(オトコ)のコンピュータ道: 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によるデータウェアハウス構築

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、オークション事業部のWangです。 データウェアハウス(以下DWH)という言葉になじみのない方は検索していただいたほうがよいかもしれません。 検索するのがめんどい、という方は、かみ砕いた表現ができなくて恐縮ですが、 基幹系システムから抽出したデータを目的をもって再構成し、 使用可能な状態に保管されたデータの集合体、とお考えください。 オークションでは、具体的には出品、入札、落札などのトランザクションデータや、 それをいろいろな単位で集計したデータなどが該当します。 ここでいう単位というのはたとえば、日ごと、週ごと、月ごとや、以前の記事でも紹介されている カテゴリといったものになります。 こういったデータは、運用、運営、

    MySQLによるデータウェアハウス構築
  • 「実現したいことを計算機の問題に置き換えることが『技術力』」、伊藤CTOが“はてな流”大規模データ処理の極意を語る:CodeZine

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    「実現したいことを計算機の問題に置き換えることが『技術力』」、伊藤CTOが“はてな流”大規模データ処理の極意を語る:CodeZine
  • MOONGIFT: » 必見!怖くなるくらい優秀なCMS「concrete5」:オープンソースを毎日紹介

    これまで多数のCMSを見てきたが、ここまで完成度が高いと言えるものに出会ったことはなかった…そう言えるくらい凄い。このどきどき感はDekiWikiに触れた時に感じたものに近い。 見たまま編集できるCMS CMSと言えば、ユーザ画面と管理画面に分かれていて、管理画面はモジュールやテーマの設定、各項目の並びを指定するのが通常だ。実際の出力結果はシステム任せで、その点が柔軟性に欠ける点でもあった。 しかしこれは違う。見たまま編集でき、さらに高い柔軟性を維持している。 今回紹介するオープンソース・ソフトウェアはconcrete5、デザイン、管理、コンテンツ作成全てが高度なCMSだ。 相当個人的な感情が入ってしまっているのは、同じようなシステムを構築する予定があったからだ。だがconcrete5は完成度も高く、多少の改造さえ施せば十分な気がする。やはり下手に開発コストをかけるよりもオープンソースで探

    MOONGIFT: » 必見!怖くなるくらい優秀なCMS「concrete5」:オープンソースを毎日紹介
  • HTML&CSS、プログラミング、データベースなどのチートシート集

    Webmasters by Designのエントリーから、HTML, CSS, XML,やプログラミング、データベース、htaccess、DOCTYPE、SEOなどウェブ開発者のためのチートシートを紹介します。 The Best Developer Cheat Sheets Around HTML & CSS HTML HTML Cheat Sheet (PNG, PDF) HTML Help Sheet. Panic Over. (PDF) XHTML cheat sheet (HTML) CSS CSS Cheat Sheet (PNG, PDF) CSS Cheat Sheet (PDF) CSS Cheat Sheet (HTML) XML XML Quick Reference (PDF) XSLT Quick Reference (PDF) XML Syntax Quick R

    HTML&CSS、プログラミング、データベースなどのチートシート集
  • SQLエスケープにおける「\」の取り扱い

    補足 この記事は旧徳丸浩の日記からの転載です。元URL、アーカイブはてなブックマーク1、はてなブックマーク2。 備忘のため転載いたしますが、この記事は2008年6月2日に公開されたもので、当時の徳丸の考えを示すものを、基的に内容を変更せずにそのまま転載するものです。 補足終わり 昨日のエントリ(徳丸浩の日記 - そろそろSQLエスケープに関して一言いっとくか - SQLのエスケープ再考)は思いがけず多くの方に読んでいただいた。ありがとうございます。その中で高木浩光氏からブクマコメントを頂戴した。 \がescape用文字のDBで\のescapeが必須になる理由が明確に書かれてない。\'が与えられたとき'だけescapeすると…。自作escapeは危うい。「安全な…作り方」3版で追加の「3.失敗例」ではDBで用意されたescape機能しか推奨していない このうち、まず「\」のエスケープが必

  • 徳丸浩の日記 - そろそろSQLエスケープに関して一言いっとくか - SQLのエスケープ再考

    補足 この記事は旧徳丸浩の日記からの転載です。元URL、アーカイブはてなブックマーク1、はてなブックマーク2。 備忘のため転載いたしますが、この記事は2007年11月26日に公開されたもので、当時の徳丸の考えを示すものを、基的に内容を変更せずにそのまま転載するものです。 補足終わり 稿ではSQLインジェクション対策として、SQLのエスケープ処理の方法について検討する。 最近SQLインジェクション攻撃が猛威を振るっていることもあり、SQLインジェクションに対する解説記事が増えてきたようだが、対策方法については十分に書かれていないように感じる。非常に稀なケースの対応が不十分だと言っているのではない。ごく基的なことが十分書かれていないと思うのだ。 SQLインジェクション対策には二通りある。バインド機構を使うものと、SQLのエスケープによるものだ。このうち、SQLのエスケープについて、十分

  • Apache/PHP/MySQLなどをWindowsに一発でインストールできる「VertrigoServ」 - GIGAZINE

    Apache/PHP/MySQL/SQLite/SQLiteManage/PhpMyAdmin/Zend OptimizerをWindowsにまとめてオールインワンでインストールすることができるようになっているのがオープンソースで開発されているこの「VertrigoServ」。 これらの各ソフトについて簡単に設定を変更できるコントロールパネルっぽいものがタスクトレイから一発で呼び出せるようになっており、非常に設定が簡単です。また、インストーラは日語化されているので安心です。 実際のインストール方法などは以下から。 VertrigoServ http://vertrigo.sourceforge.net/ ダウンロードしたら実行します 「OK」をクリック 「次へ」をクリック 「同意する」をクリック 「次へ」をクリック さらに「次へ」をクリック 「インストール」をクリック インストール中……

    Apache/PHP/MySQLなどをWindowsに一発でインストールできる「VertrigoServ」 - GIGAZINE
  • 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)をする方法 - (ひ)メモ
  • MOONGIFT: » 文句なしのWiki「MindTouch Deki Wiki」:オープンソースを毎日紹介

    完成形を見てしまった気がする。それくらいできが良い。 これまでWikiエンジンを幾つも紹介してきた。もちろん、機能面ではもの凄く充実しているものも数多い。だが、使い勝手や初期状態での機能等を考えると、これがまさに完成系と言えるのではないだろうか。 今回紹介するオープンソース・ソフトウェアはMindTouch Deki Wiki、エンタープライズ向けのWikiエンジンだ。 欠点がなさすぎる。日語はもちろんOK、Ajaxを使って遷移の少ない作り、履歴管理+差分表示にももちろん対応している。編集はWYSIWYGなテキストエリアでできる。 ヘッダを作れば、その中だけで編集できる。画像をアップロードして、埋め込むのも簡単。ページの階層管理もできて、タグも使える。ウォッチリストに登録、コメントをする、RSS配信など何でもござれだ。 さらに多言語対応、Google Analyticsを埋め込めるなどな

    MOONGIFT: » 文句なしのWiki「MindTouch Deki Wiki」:オープンソースを毎日紹介
  • 【ハウツー】話題の高機能CMS「MODx」 を試す! - 導入からテンプレート作成まで (1) PHP+MySQLの高機能CMS「MODx」とは? | ネット | マイコミジャーナル

    注目のCMS「MODx」とは? 「MODx」はPHPで実装されているWebベースサイトを管理することができるCMS (Content Management System)です。データベースにMySQLを利用しているため、オープンソース系のWebアプリケーション環境で標準的なLAMPで構成することができ、国内でもここ最近になって知名度を高めています。 他の多くのCMSと同様に、Webサイトの管理者専用のページが用意されており、管理者は管理ページを通してコンテンツやユーザーの管理を行うことができます。加えてMODxの管理画面はAjaxを用いているためページ遷移を発生させずに画面移動でき、快適な操作性を実現しています。 MODxを用いることで、用意されているテンプレートやモジュールでWebサイトを構築することができ、必要であればPHPを書いて独自のWebアプリケーションやサービスを構築することも

  • バックエンド系(Apache・PHP・MySQL)のチートシート

    Apache、PHPMySQL、CVS、Subversionなどのサイト制作のバックエンド系のチートシートのまとめです。 各チートシートのリンクは、下記の「チートシートのポータルサイト」より収集しました。 Apacheのチートシート PHPのチートシート MySQLのチートシート CVS・Subversionのチートシート チートシートのポータルサイト Apacheのチートシート Apache 1.3 Quick Reference Card mod_rewrite Cheat Sheet htaccess Cheatsheet PHPのチートシート PHP Cheat Sheet PHP Cheat Sheet PHP 4 Quick Reference Card PHP Cheat Sheet Smarty cheat sheet PHP 4 Reference Card(PDF)

    バックエンド系(Apache・PHP・MySQL)のチートシート