タグ

mysqlに関するyahihiのブックマーク (70)

  • クエリのパフォーマンスチューニングの第一歩。実行計画や統計情報について入門する

    SQL実行の流れ まずはSQLがどのような流れで実行されるのかを見ていきます。 SQL実行の流れは大まかに捉えると以下のようになります。 パーサ パーサでは、ユーザーから送信されたクエリを受け取り、その文法的な正確さを検証します。SQLクエリが正しくフォーマットされているか、必要な構文要素が全て含まれているかをチェックし、例えばFROM句で指定されたテーブルが存在するかどうかも確認します。 文法的なエラーがある場合、例えばカンマの欠落や存在しないテーブルの参照など、クエリはエラーとして返されます。 エラーがない場合は、クエリは「抽象構文木」というデータ構造に変換されます。これにより、データベースはクエリをより効率的に解析し、次の処理ステップに進めることができます。 オプティマイザ SQLクエリがパーサを通過した後、次にクエリの最適化を行うのが「オプティマイザ」です。オプティマイザの主な役割

    クエリのパフォーマンスチューニングの第一歩。実行計画や統計情報について入門する
    yahihi
    yahihi 2024/05/06
  • MySQLで発生し得る思わぬデッドロックと対応方法

    はじめに この記事は実際の業務で発生した MySQL のデッドロックとそのいくつかの回避方法や対応方法を(テーマは変えて)手元で実行できるコードを用いて解説する記事です。具体的には「トランザクション張っておけば大丈夫」と思ってませんか? バグの温床になる、よくある実装パターンの記事で紹介されている「1on1 チャットサービス」で紹介されているデッドロックとデータベースレイヤでは同じ状況だったのですが、記事で紹介されている方法とは別の方法でデッドロックを回避する必要があったため、同じ状況に遭遇した人の助けになればという思いで記事を書きました。また、こちらの記事が無ければ私自身も現象を理解するのにもっと苦労したと思うので、この場を借りてお礼申し上げます! 出金サービス履歴登録サービスを例に考える コードと説明が https://github.com/shuntagami/withdrawal_

    MySQLで発生し得る思わぬデッドロックと対応方法
    yahihi
    yahihi 2022/07/05
  • db tech showcase Tokyo 2018 - MySQL・PostgreSQLだけで作る高速あいまい全文検索システム #dbts2018 - 2018-09-20 - ククログ

    関連リンク: スライド(Rabbit Slide Show) スライド(SlideShare) リポジトリー 内容 去年は「MySQL・PostgreSQLだけで作る高速でリッチな全文検索システム」というタイトルで話しました。去年はMySQL(Mroonga)・PostgreSQL(PGroonga)で次のことを実現するための具体的なSQLを紹介しました。 全文検索 キーワードハイライト 周辺テキスト表示 入力補完 同義語展開 関連文書の表示 構造化データ(オフィス文書・HTMLPDFなど)対応 今年は「MySQL・PostgreSQLだけで作る高速あいまい全文検索システム」というタイトルで話しました。今年も話の流れは同じにしました。あることを実現する具体的なSQLを紹介するというスタイルです。今年はMySQL(Mroonga)・PostgreSQL(PGroonga)で次のことを実現す

    db tech showcase Tokyo 2018 - MySQL・PostgreSQLだけで作る高速あいまい全文検索システム #dbts2018 - 2018-09-20 - ククログ
  • PostgreSQLとMySQL、使うならどっち? データベース専門家が8つの視点で徹底比較!|ハイクラス転職・求人情報サイト AMBI(アンビ)

    PostgreSQLMySQL、使うならどっち? データベース専門家が8つの視点で徹底比較! オープンソースのデータベースとしてよく比較されるPostgreSQLMySQL。どんな長所・短所があるのでしょう? それぞれの専門家による対談で明らかにします。 エンジニアとして働いていると必ず直面する悩み。それは、「どのリレーショナル・データベース(以下、RDB)を選ぶのが最善なのか?」です。 RDBごとに長所と短所は異なっています。そのため自社サービスにマッチしないRDBを選んでしまうと、それがボトルネックとなり開発・運用にトラブルが生じるケースは少なくありません。 なかでもよく比較検討されるのが、PostgreSQLMySQL。ともにオープンソースRDBのデファクトスタンダードであり、高い性能と数多くの機能を持っています。 では、両者は具体的にどのような長所・短所があるのでしょうか。そ

    PostgreSQLとMySQL、使うならどっち? データベース専門家が8つの視点で徹底比較!|ハイクラス転職・求人情報サイト AMBI(アンビ)
  • MySQL 8.0.11 (GA)がリリースされました - sakaikの日々雑感~(T)編

    慣例(?)として4月下旬には出るのではないか、と勝手に予測していた MySQL 8.0 が、私の予想よりもほんの少し早くリリースされました*1。ついに待望の GA です。 MySQL 5.7 で、それ以前のバージョンと比べて非常に大きな進化をしたMySQLですが、バージョン番号を大きく飛ばした今回の MySQL 8.0 でも一層の進化をしています。進化の内容は MySQL Server Blog の記事で詳しく説明されているので、私もこれから少しずつ読もうと思います。 mysqlserverteam.com この Server Blog のエントリー、とってもとっても長い力作で、これを読むだけでMySQL8.0の進化の概要はざっと理解できそうなくらいです。が、長いと(更に英語だし)だんだん何を読んでいるのか分からなくなってしまうので、私はこういうときに「地図」を作ります。自分用に、ざっくり

    MySQL 8.0.11 (GA)がリリースされました - sakaikの日々雑感~(T)編
  • クリアネオの口コミって信じていい?効果は確実なの? | 愛と小町

    クリアネオの特徴 無添加・無着色だから肌が弱い人でも安心 ワキガや嫌な臭いの原因となる菌を殺菌・消毒 お得な定期コースは、購入縛りなし!いつでも解約可能 体臭の悩みは老若男女問わず共通の悩みですが、他人には相談しにくいので1人で悩んでいる人が多いんです。 体臭って、自分でニオイが気になった時は、他の人はもっとクサイと思っています。 もしあなたが、自分でワキガかも…と思うのであれば、周りの人はあなたのニオイに気づいているかも… クリアネオは、そんなワキガ臭や足のニオイなど、イヤーな体臭全般を10秒でカットしてくれるんです。 クリアネオの効果や口コミを調査しましたので徹底解説します。 購入時に特典が付いてくるのでお得 公式サイトはコチラ ※特典は毎月変わるので公式サイトでご確認ください クリアネオはどんな人におすすめ? クリアネオの殺菌率は、なんと99.999%!体臭の悩みを解消してくれるクリ

    yahihi
    yahihi 2012/07/25
  • oinume journal

    Raycastを使い始めて1年経ったので、どういうことに使っているかを振り返ってみる。去年書いた AlfredからRaycastに移行した - oinume journal の記事から少し使い方が変わっているところもあるのでメモがてら。 基的な使い方 Cmd + QをRaycast起動のショートカットとして割り当てている。Pro版は使っていないのでAI機能などは使ったことがない。 ブラウザのブックマーク検索など、よく使うけどHotKeyを割り当てるほどでもないRaycastコマンドはbmのようにAliasを設定している。 Cmd + QでRaycastを起動してbmと入力するとブックマークの検索ができるので楽ちん アプリケーションランチャー機能 アプリケーションを起動するときのランチャーとして使っている。よく使うアプリにはHot Key(ショートカット)を割り当ててる。 Clipboar

    oinume journal
    yahihi
    yahihi 2012/04/21
  • phpMyAdminでインポートできない大きなファイルを一気にインポートできる「BigDump」

    phpMyAdminを使ったSQLファイルのインポートにはファイルサイズの制限があり、サーバ環境によってはサイズの大きいSQLファイルをインポートできない場合があります。 これを解消してくれるのが「BigDump」です。 BigDump BigDumpは、PHPベースのMySQLインポートツールです。 先日行ったサーバ移転で、100MBほどあるSQLファイルのインポートにこれを利用しました。約100MBほどあるSQLファイルを分割もせず、わずか1分ほどでインポートすることができました。 ということで以下、BigDumpによるSQLファイルのインポート手順を解説します。1つのSQLファイルサイズがかなり大きくても大丈夫なようですが、エクスポートするSQLファイルは7項の手順にしたがって出力したものを利用することを推奨します。 1.BigDumpのダウンロード BigDumpのページの右にある

    phpMyAdminでインポートできない大きなファイルを一気にインポートできる「BigDump」
    yahihi
    yahihi 2012/04/04
  • Replication Booster for MySQL を試す - blog.nomadscafe.jp

    松信さんが作った Replication Booster for MySQL をデータサイズが大きいデータベースに対して使ってみました。 Yoshinori Matsunobu’s blog: Making slave pre-fetching work better with SSD github - yoshinorim/replication-booster-for-mysql Replication Booster for MySQL をものすごく簡単に説明すると、以下のようになるでしょうか。 MySQL でレプリケーションを設定した場合、マスターのバイナリログをIOスレッドが読み取り、relay-logへ記録します。そしてSQLスレッドがrelay-logから読み取ってテーブルを更新して行きます。Replication Booster を実行するとrelay-logを読み取り、更

    yahihi
    yahihi 2012/03/27
  • 「A5:SQL Mk-2」のページは移転いたしました

    yahihi
    yahihi 2012/03/06
    ER図も作成できる高機能なSQL開発環境
  • ソーシャルゲームスケールアウトの歴史

    1. ソーシャルゲーム スケールアウトの歴史 gussan@Drecom Co., Ltd. Copyright © Drecom Co., Ltd. 12年2月20日月曜日

    ソーシャルゲームスケールアウトの歴史
    yahihi
    yahihi 2012/02/20
    Percona Mysql+Fusion io
  • ジョインが70倍高速で、Memcached API搭載の「MySQL Cluster 7.2」正式版が登場

    米オラクルは、オープンソースのデータベースとして普及しているMySQLをクラスタ化して利用するためのソフトウェア「MySQL Cluster 7.2」の正式版を公開しました。 GPLに準拠したオープンソース版と同時に、管理ツールを同梱し、24時間365日のサポートも行う商用版の「MySQL Cluster Carrier Grade Edition」も同時に公開しています。 ジョインが70倍高速に MySQL Cluster 7.2の最大のポイントは、ジョインが高速になったことです。これまでクラスタでのジョインは、ジョインするテーブルのデータがクラスタ内のノード間をいちいち飛び交っていたため、複雑なジョインになるほど遅いものになっていました。 MySQL Cluster 7.2で採用されたAdaptive Query Localization(あるいはPush Down Joins)と呼ば

    ジョインが70倍高速で、Memcached API搭載の「MySQL Cluster 7.2」正式版が登場
    yahihi
    yahihi 2012/02/16
  • MySQLを通じた全文検索エンジンSenna/groongaの利用について

    ドワンゴ技術勉強会で発表した際の資料です。 詳細は、ドワンゴ研究開発ブログ( http://info.dwango.co.jp/rd/ )を参照ください。Read less

    MySQLを通じた全文検索エンジンSenna/groongaの利用について
  • 本当は恐ろしい、MySQLのライセンス? - 高尾宏治日記 on はてな

    (2012/02/10追記:まぎらわしいのでタイトルに「?」を追加しました。) ここ数日、MySQLのライセンスに悩んでいました。きっかけは知り合いがFacebookに書き込んだ以下のコメントです。 MySQLのライセンスの話から、GPLについて調べてた。受託開発でGPLライセンスのプロダクトを利用する場合の、納品についてのライセンス形態について、まだ理解できていない。 「えっ、MySQLのライセンスはGPLだよね、それなら簡単でしょ。」って思い、コメントしたのですが...少し気になって調べると驚くべき記事がありました。 MySQL ライセンスで頭が痛い: http://d.hatena.ne.jp/kurosaka/20071214/p1 より 企業ユーザは100% MySQL AB社にライセンス費用を支払わなければならない感じ。 また上記のブログには以下のように追記されている。 GPL

    本当は恐ろしい、MySQLのライセンス? - 高尾宏治日記 on はてな
  • Free Dynamic DNS(DDNS) by POP3,IMAP4,FTP,HTTP-BASIC for Home Server, VPS | MyDNS.JP

    myhome.munetika.mydns.jp is not accessible... Sorry. I do not know why this site is not working. If you know Administrator of this site, please contact directly. You may be able to see it in Google cache. For administrator ... MyDNS.JP did not received IP address from you over One week. Please check your notify system. If you restart notification of IP address, MyDNS.JP will apply your IP address

    yahihi
    yahihi 2012/02/06
    mysqlnd_msとはSQL文をSELECT文か、INSERT/UPDATE文かを判断し、それぞれマスター/スレーブに振り分けるというすぐれもの。
  • MySQL :: Download Connector/J

    MySQL Connector/J is the official JDBC driver for MySQL. MySQL Connector/J 8.0 and higher is compatible with all MySQL versions starting with MySQL 5.7. Additionally, MySQL Connector/J 8.0 and higher supports the new X DevAPI for development with MySQL Server 8.0 and beyond. Online Documentation: MySQL Connector/J Installation Instructions Documentation MySQL Connector/J X DevAPI Reference Change

    yahihi
    yahihi 2012/01/22
    MySQLのJDBCドライバ
  • MySQLで日本語の全文検索 by face

    MySQLで全文検索するには、 1. カラムに対して全文検索インデックス(FULLTEXT)を張ります 例) ALTER TABLE ‘xoops_table’ ADD FULLTEXT (myindex); 2. insertやupdateすると、自動的にインデックス化されます insert into xoops_table(myindex) values(’This is black ballpen.’); 3. 次に、MATCH … AGAINST 構文を使ったSELECT文で検索します select * from xoops_table where match( myindex ) against( ‘black’ ); こんな感じの処理になります。 LIKE構文を使ったselect文と比較すると、数十倍高速なのです。 ※関連記事の表示でも使用してます ■日語で検索する場合 上の

  • NoSQLとしてMySQLを使うDeNAが、memcachedよりも高速な75万クエリ/秒を実現

    モバゲーで知られるDeNAは、バックエンドデータベースにNoSQLを使っていません。なぜか? それはMySQL/InnoDB 5.1の環境で秒間75万クエリという、多くのNoSQLでも実現できないような高性能を実現しているから。DeNAの松信嘉範(まつのぶよしのり)氏は、自身のブログにこんな内容のエントリ「Using MySQL as a NoSQL - A story for exceeding 750,000 qps on a commodity server」(英語)をボストしています。 Yoshinori Matsunobu's blog: Using MySQL as a NoSQL - A story for exceeding 750,000 qps on a commodity server 松信氏が指摘するように、大規模なネットサービスを提供している企業の多くは分散環境で

    NoSQLとしてMySQLを使うDeNAが、memcachedよりも高速な75万クエリ/秒を実現
    yahihi
    yahihi 2011/12/21
  • カジュアルに MySQL を監視する方法 | Carpe Diem

    このエントリーは、MySQL Casual Advent Calendar 2011 – MySQL Casual の第 19 日目のエントリーです。 皆さんこんにちは、n0ts こと、Naoya Nakazawa です。 今日は、みなさん日頃からカジュアルに MySQL を運用して、日々生活されていることと思います。MySQL は、非常に安定したオープンソースソフトウェアだと思いますが、どんなものでもときにはおかしくなったりするものです。 「備えあれば憂いなし」ということで、僕は日頃から Nagios というオープンソースソフトウェアを利用して、MySQL がおかしくなっていかいか日々カジュアルに監視しています。 今日は、カジュアルに MySQL を Nagios を使って監視する方法を紹介したいと思います。なお、今回は CentOS 5.7 x86_64 というカジュアルな Linux

  • 裏MySQL クエリー入門(4) 応用編1 クロス集計 - イノベートな非日常

    基礎編が終わりましていよいよここから、応用編に入っていきます。 MySQLでクロス集計を行うには、一般的に裏MySQL クエリー入門(1)で紹介しましたfieldを使います。 これは、MySQLでクロス集計する場合にわりと知られた方法です。field関数を使用する際に、引数を2つまでと見た場合、条件が満たされた場合は1そうでなければ0というように利用できます。 SELECT sum(field(carrier,1)) "DoCoMo", sum(field(carrier,2)) "au", sum(field(carrier,3)) "SoftBank" FROM user が、裏MySQL クエリー入門(2)の通り、MySQLは条件式がそのまま真偽値を返しますので、実はfield関数を使うことなく以下のようにシンプルに書けます。条件式そのままなので、応用もこっちの方が効きます。 SEL

    裏MySQL クエリー入門(4) 応用編1 クロス集計 - イノベートな非日常
    yahihi
    yahihi 2011/12/18