タグ

mysqlに関するfukkenのブックマーク (56)

  • 書籍出版のお知らせ:理論から学ぶデータベース実践入門 ~リレーショナルモデルによる効率的なSQL

    来る2月27日、データベースの新書籍を発売させて頂くことになった。タイトルは「理論から学ぶデータベース実践入門 ~リレーショナルモデルによる効率的なSQL」となっている。単に「データベース」と書いてあるが、RDBがメインのテーマの書籍である。 多くの人が未だにRDBを使いこなせていないのではないか。RDBの使い方をマスターするには何が必要なのか。それがここ数年私が追ってきたテーマであり、この書籍を出すことになった動機である。 あまりにも酷いDB設計、あまりにもスパゲティなクエリ、あまりにも希薄なデータモデルへの理解。そういった問題はどこから生み出されるのか。そのひとつの結論としてたどり着いたのが、「そもそもRDBの使い方があまり理解されていないのではないか」ということだった。名著、SQLアンチパターンでは「やってはいけないケース」について学ぶことができるが、その反対のテーマ、つまり来どの

    書籍出版のお知らせ:理論から学ぶデータベース実践入門 ~リレーショナルモデルによる効率的なSQL
    fukken
    fukken 2015/02/03
    速攻でAmazonランキング一位(データベースカテゴリ)。コンピュータ・ITもいけるかなー?
  • 人類は如何にして大切な データベースを守るべきか

    SQLアンチパターン読書会最終回(第25章)で用いた資料です。章タイトルは「砂の城」でしたが、スライド自身にはもう少し分かりやすいタイトルをつけています。サービス安定稼働のためにどういったことが必要なのかというのが、スライドの主旨です。最後に少しオマケあり。Read less

    人類は如何にして大切な データベースを守るべきか
    fukken
    fukken 2015/01/28
  • ソーシャルゲーム開発者なら知っておきたい MySQL INDEX + EXPLAIN入門|技術ブログ|北海道札幌市・宮城県仙台市のVR・ゲーム・システム開発 インフィニットループ

    ソーシャルゲーム開発者なら知っておきたい MySQL INDEX + EXPLAIN入門 広く浅くを担当してます、ota です。 技術ブログ第一回から早速流用スライドで申し訳ありませんが、社内勉強会資料として作成した「MySQL INDEX + EXPLAIN入門」です。 当社でもソーシャルゲームの開発を行っていますが、このような大量のデータを使用する・クエリの速度が求められる場合にインデックスは大変重要です。 インデックスの有効な利用にはDB設計者だけではなくプログラマにもある程度の知識が最低限必要となりますが、インデックスについての初心者向け資料があまりないようです。 このスライドではプログラマに知っておいて欲しい以下の基的な点をまとめました。 INDEXを使用する時に気をつけること WHERE句 !=、<>はインデックスが使用できない WHERE句の全てのANDにかかっていないイン

    ソーシャルゲーム開発者なら知っておきたい MySQL INDEX + EXPLAIN入門|技術ブログ|北海道札幌市・宮城県仙台市のVR・ゲーム・システム開発 インフィニットループ
    fukken
    fukken 2015/01/09
  • 愚かで、しかも危険なSET GLOBAL sql_log_bin | Yakst

    MySQLのレプリケーション環境を運用していると、バイナリログへの記録を一時的に止めるためにsql_log_bin=0を実行したことがあるだろう。これを「set GLOBAL sql_log_bin=0」と、グローバル変数への変更として実行すると大変なことになる、という指摘。TwitterMySQLエンジニア、Jeremy Cole氏の提言。 訳者注 2014.12.05 この機能はMySQL 5.5.41、5.6.22で使用できないように修正された。詳細は文の最後を参照 もう4年半ぐらい前、コードのリファクタリングをしている最中に、sql_log_binは、SESSION変数としてだけではなく、GLOBAL変数としても使えるように決定されてしまった(あるいは間違って変更された?)。2年ほど前、TwitterMySQL 5.5のアップグレードを実施していた時、その変更がいかに愚かで、

    愚かで、しかも危険なSET GLOBAL sql_log_bin | Yakst
    fukken
    fukken 2014/08/20
  • MySQLの自動変換を丁重にお断りするためのたった1種類の呪文 - sakaikの日々雑感~(T)編

    先日の『これだけは覚えておきたい!!MySQL の6つの自動変換』 http://d.hatena.ne.jp/sakaik/20100225/mysqlautochange にはたくさんの反響をいただいた。 時にこちらの意図と違っちゃうこともあるけれどもケナゲに気を使ってくれる MySQL が、これほどに皆さんにも愛されていることが判り、MySQLファンの一人として嬉しい限りである。 さて、そのエントリの最後に、 なお、「SQLモード」を指定するとこれらの動作を変更することができる。SQLモードについては気が向いたらいつか紹介してみたい。 と書いたところ、速攻でキムラデービーの木村明治氏が補足エントリーを書いてくださった。 ○キムラデービーブログ [勝手に補足]これだけは覚えておきたい!!MySQL の6つの自動変換 http://blog.kimuradb.com/?eid=83851

    MySQLの自動変換を丁重にお断りするためのたった1種類の呪文 - sakaikの日々雑感~(T)編
  • YappoLogs: なぜ SQL_CALC_FOUND_ROWS や LIMIT OFFSET のページングが良く無いのか

    なぜ SQL_CALC_FOUND_ROWS や LIMIT OFFSET のページングが良く無いのか ここ最近の大規模サービス関連したデータページング考です。 mysql 5.5.34 で試して記事書いてます。 bigdata テーブルは id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, PRIMARY KEY (id) なカラムがある前提です。もちろん InnoDB です。 2014年なんだからCOUNT(*)とかSQL_CALC_FOUND_ROWSとかLIMIT OFFSETのページングはやめようぜ - Togetterまとめが発端にみえるけど、わりと昔から話されてる事なんだけど、「nippondanji SQL_CALC_FOUND_ROWS」でググっても有用な情報ないし文書化されてないからしとく。 ページング処理で使われがちな機能です。 S

    fukken
    fukken 2014/03/13
  • MySQL生みの親のMichael "Monty" Widenius氏に訊く「MySQLとMariaDB」

    EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けに、EnterpriseZine Day、Security Online Day、DataTechという、3つのイベントを開催しております。それぞれ編集部独自の切り口で、業界トレンドや最新事例を網羅。最新の動向を知ることができる場として、好評を得ています。

    MySQL生みの親のMichael "Monty" Widenius氏に訊く「MySQLとMariaDB」
    fukken
    fukken 2014/03/04
  • MySQLのクエリ集計手法いろいろ | Ore no homepage

    Webサービスを開発/運用してるモンとしては、いろんなWebサービスを触ってみなきゃアカンってことで、アメリカの若モンに大人気ってふれこみのsnapchatに登録してみた。これでリア充の仲間入りやと思ったが、snapchat友達が同僚二人しかいないうえに、利用シーンがあまり思い浮かばないww オジサン困っちゃいました。画像とか送信できるんだけど、数秒で消えるの。むしろそこがウリっていうね。どうやって遊ぼうか…。 2月はブログ書かなかったなーと思ったのでMySQL小ネタ。世間的にも自分的にも真新しくもなんともないTipsです。 innotopで集計 実は以前、Qiitaに書いたので↓をば。。。 http://qiita.com/la_luna_azul/items/505ca441b8c8e6a87aaa 流れるクエリ、ロックの状況、トランザクション(show engine innodb s

    MySQLのクエリ集計手法いろいろ | Ore no homepage
    fukken
    fukken 2014/03/04
  • Mysql toranomaki

    カジュアルにMySQL Clusterを使ってみよう@MySQL Cluster Casual Talks 2013.09Mikiya Okuno

    Mysql toranomaki
    fukken
    fukken 2013/11/25
  • MySQLトップレベルパフォーマンスチューニング講座開催

    Oracle, The World's Largest Enterprise Software Company Oracleは7月29日(米国時間)、「Tune MySQL for Top-Level Performance」において、4日間かけてMySQLサーバのパフォーマンスチューニングの方法を教えるトレーニングコースを開催することを伝えた。日では9月19日から東京にて開催される見通し。講師は日人によって日語で実施されるが、教材と実行環境は英語環境となる。対象バージョンはMySQL 5.5。 「MySQL Performance Tuning」では次の項目などについてトレーニングが実施される。 アーキテクチャの評価 ツールの意味や使い方 パフォーマンス目的でのデータベースのチューニング アプリケーションとSQL命令のチューニング サーバのチューニング ストレージエンジンの調査 ア

    fukken
    fukken 2013/07/30
  • SlackwareがMySQLからMariaDBに移行

    The Slackware Linux Project(どうも個々のニュースに対するURLがないのでいずれ正しくなくなるURL) SlackwareがMySQLからMariaDBに移行するようだ。 今日のSlackwareの-currentのChangeLogより 今回の大ニュースは、MySQLを消してかわりにMariaDBを入れることだ。別に驚くべきことでもない。LQでのアンケートでは、大多数のユーザーが変更を支持している。思うに、MariaDB財団の方が開発に優れ、またセキュリティ上の懸念への反応も速く、オープンソースコミュニティと積極的に協力する姿勢を見せている。現在、MySQLのコミュニティ版を商用利用するにあたってライセンス上の問題はないとはいえ、LQのスレッドでは懸念されているし、MariaDBのソフトウェア利用の自由に対する態度は明白である。移行のためのビルドスクリプトとテス

    fukken
    fukken 2013/03/26
  • チューニンガソン5の復習 MySQL 5.6 新機能編 - SH2の日記

    というわけで、MyNA(日MySQLユーザ会)会 2013年3月に参加して発表をしてきました。とてもリラックスして話をすることができました。司会進行の坂井さんをはじめ日MySQLユーザ会のみなさま、日オラクルのみなさま、当日お越しいただいたみなさま、どうもありがとうございました。 私のセッションでは前回のエントリの続きということで、MySQL 5.6の新機能Optimizer Traceを活用しながら正攻法でのチューニングを行っていきました。とはいえ途中から正攻法ではなくなっていた気もします。MySQL 5.6でRDBMSとしての土台はしっかりしてきたと思いますので、今後は高度な統計情報を使用したSQL実行計画の最適化といったところにも機能強化が施されていくのではないかと期待しています。 プレゼンテーション資料 (PDF) EXPLAINとOptimizer Traceの出力結果 プ

    チューニンガソン5の復習 MySQL 5.6 新機能編 - SH2の日記
    fukken
    fukken 2013/03/18
    宿題きつい
  • MariaDB Galera Cluster による DB サーバの冗長化 - dogmap.jp

    さくらインターネット研究所さんの「MariaDB Galera Clusterを試す」という記事を読んで居ても立ってもいられなくなり、さっそく AWS で構築してみました。 上記の記事によれば 簡単にまとめると次のようになります。 Galera Replicationが複数のRDBMをレプリケーションするwsrep APIを提供し、同期をとります 完全同期型であるため、すべてのノードがアクティブかつマスターとなります クラスターノードのどれに対してもリード/ライトが可能です ノードの追加/削除は自動で行えます クライアント接続は通常のMySQLとなんら変わりなく使えます via. MariaDB Galera Clusterを試す (1) « さくらインターネット研究所 おー!スレーブ/マスター形式のレプリケーションよりも、断然使いやすそうやんか! ってわけで AWS の ELB 配下に複

    MariaDB Galera Cluster による DB サーバの冗長化 - dogmap.jp
  • Slow Query Logでみるとこ - さよならインターネット

    User@Host: kenjiskywalker[kenjiskywalker] @ localhost [] # Query_time: 0.00011111 Lock_time: 0.000099 Rows_sent: 1 Rows_examined: 300000000000000000000000 SET timestamp=999999999999; SELECT girl FROM girls_list WHERE name = 'homuhomu' みたいなスロークエリログがあったとして、 確認すべきところは Query_time = クエリの処理にかかった時間 Lock_time = ロックされた時間 Rows_sent = クエリにヒットしたレコード数 Rows_examined = 探索対象となったレコード数 で、ロックとかクエリにかかった時間は基だと思うんですけど

    Slow Query Logでみるとこ - さよならインターネット
    fukken
    fukken 2012/06/01
  • クエリキャッシュは切ったほうがいいんじゃなイカ? : DSAS開発者の部屋

    KLab Advent Calendar 2011 「DSAS for Social を支える技術」の2日目は、昨日に引き続き、MySQLを骨までしゃぶるためのテクニックです。 ソーシャルゲームは一般サイトよりもDBへの更新クエリの割合が多くなりがちです。更新クエリが多いMySQLでは、通常は有益なクエリキャッシュが無益どころか有害になります。 そもそもキャッシュヒット率が低い。20%以下なんてこともザラにある しかもクエリキャッシュの更新はグローバルなロックを取得する からです。特に後者は問題です。ただの参照クエリもクエリキャッシュを更新する上に、更新クエリはクエリキャッシュの全エントリをチェックして、更新したテーブルに影響がありそうな全キャッシュをdiscardしていくためです。たとえばユーザーの行動力のようなパラメータを格納した参照も更新も多いテーブルでクエリキャッシュが有効になって

    クエリキャッシュは切ったほうがいいんじゃなイカ? : DSAS開発者の部屋
    fukken
    fukken 2011/12/02
    へー、だめだDB全然知らないなぁ、勉強せんと
  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
    fukken
    fukken 2011/11/25
  • MySQLにおけるJOINのチューニングの定石

    EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けに、EnterpriseZine Day、Security Online Day、DataTechという、3つのイベントを開催しております。それぞれ編集部独自の切り口で、業界トレンドや最新事例を網羅。最新の動向を知ることができる場として、好評を得ています。

    MySQLにおけるJOINのチューニングの定石
  • [PHPプロ!] MySQLのクエリを最適化する10のTips

    Jaslabs: High performance phpMySQL のクエリを最適化するための10のTipsが公開されています。explainを利用した一般的な方法から、SELECT・INSERTのクエリオプションを使用するような方法まで紹介されています。MySQLクエリの速度低下にお悩みの方は一度読んでみるとよいでしょう。 Jaslabs: High performance phpMySQL のクエリを最適化するための10のTipsが公開されています。explainを利用した一般的な方法から、SELECT・INSERTのクエリオプションを使用するような方法まで紹介されています。MySQLクエリの速度低下にお悩みの方は一度読んでみるとよいでしょう。 1. explainコマンドの使用 explainコマンドはクエリでどのインデックスが指定されているのか、などの情報が取得できます。 e

    [PHPプロ!] MySQLのクエリを最適化する10のTips
    fukken
    fukken 2011/09/29
  • libmysqlclientを使うプログラムはset namesをutf8であっても使ってはいけない | へぼい日記

    mysql_enable_utf8 => 1 で DBIC::UTF8Columns 要らなくなるっぽいComments 上記の記事のブクマに set namesを直接実行しちゃうのはutf8であってもコンパイルオプションによっては問題起こるのでお勧めできない http://b.hatena.ne.jp/nihen/20090204#bookmark-11950629 ってことを書かせてもらったんだけど、この最後のset namesはutf8でも使っちゃダメという話を軽く説明します。 まずは、基的なことはMySQL5開拓団 – 日語処理の鉄則 / KLab株式会社を読んでください。mysqlの日語処理についてのドキュメントとしては、私は今一番信頼できるドキュメントだと思っています。 さて、上記のページの< 図3:クライアント側文字コードの指定チャート>を、勝手ながらすべて引用させてい

  • MySQL Casual Talks #2で発表しました

    MySQL Casual Talks #2にて発表してきました。「超カジュアルに使うMySQL」という内容で、いつものごとくジョーク枠担当です。 発表資料は以下のとおりです。 超カジュアルに使うMySQL @ MySQL Casual Talks #2 View more presentations from Tasuku Suenaga

    MySQL Casual Talks #2で発表しました