タグ

mysqlに関するtyruのブックマーク (33)

  • 違いが分かるエンジニアのためのMySQL/InnoDB/ZFSチューニング!

    明けましておめでとうございます。今年もコンピューター道に邁進して参りますのでよろしくお願いします! さて、今年一発目のネタはMySQL利用時におけるZFSのチューニングについて取り上げようと思う。Solarisに搭載されている機能の中でも最も注目度の高いものの一つであるZFSであるが、MySQLのバックエンドとしてはあまり利用されていないように思う。(そもそもSolarisのユーザー数自体がそれほど多くないという話もあるが。)ZFSは優れたファイルシステムであり、ファイルシステム自体にスナップショット機能が搭載されていたり容量の限界に先が見えない(充分すぎるほど余裕がある)といった管理上のメリットがあり、DBAにとっては垂涎のファイルシステムであると言える。(Linuxで利用出来ないのが難点だが、ZFSを使うためにSolarisを使うのもアリだろう。) MySQL利用時におけるZFSのチュ

    違いが分かるエンジニアのためのMySQL/InnoDB/ZFSチューニング!
    tyru
    tyru 2021/03/26
  • MySQL 8.0.19 で追加された TABLE と VALUES - tmtms のメモ

    1/13 に MySQL 8.0.19 がリリースされたんで、リリースノート を眺めてると気になるのがいくつか。 Important Change: MySQL now supports explicit table clauses and table value constructors according to the SQL standard. These have now been implemented, respectively, as the TABLE statement and the VALUES statement TABLE と VALUES ステートメントが追加されたみたい。 さすがMySQL! パッチリリースで新しい構文を突っ込んでくるッ! そこにシビれる!あこがれるゥ! TABLE TABLE は、テーブルの中身全部を取り出す SELECT のようなものらしい

    MySQL 8.0.19 で追加された TABLE と VALUES - tmtms のメモ
    tyru
    tyru 2020/01/28
  • Block Nested Loop Join/Batched Key Access Join

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

    Block Nested Loop Join/Batched Key Access Join
    tyru
    tyru 2020/01/24
  • MySQL使いが知るべきPostgreSQLとの違いと変わらない一つのこと

    — そーだい@初代ALF (@soudai1025) 2015, 8月 24 とブーメラン投げて見事に刺さってるので今から記事書く。 両サイドにはかなり厳しい話もするが俺の音を聴いておけ(関白宣言) まぁ歴史の長いRDBなのでお互いの比較記事は沢山ある。 なのでマルチスレッド(MySQL)とマルチプロセス(PostgreSQL)だとかVACUUMだって話はしない。 むしろ実際に使ってみた際の違いをにフォーカスする。 1. SQLの違い 基的にMySQLでやっていたことはPostgreSQL出来る。 しかし関数の挙動の違いは幾つかある。 例えば時間から曜日に該当する数字に変換した場合に MySQL → date_format(time,"%w") 0から始まり、日曜日に該当する PostgreSQL → to_char(time,'D') 1から始まり、日曜日に該当する など挙動に互換性

    MySQL使いが知るべきPostgreSQLとの違いと変わらない一つのこと
  • MySQLのUsing Temporaryについて - aeroastroの日記

    Using Temporary とは MySQLにおいて、EXPLAIN文を用いてクエリの実行計画を見るときに、この文字列が出る可能性があります。例えば、以下のような場合です。 mysql> CREATE TABLE `books` ( -> `id` int(10) unsigned NOT NULL AUTO_INCREMENT, -> `title` varchar(255) NOT NULL, -> `author` varchar(255) NOT NULL, -> `description` varchar(255) NOT NULL, -> `extra` TEXT, -> `released_at` datetime NOT NULL, -> PRIMARY KEY (`id`) -> ) ENGINE=InnoDB DEFAULT CHARSET=utf8; Query

    MySQLのUsing Temporaryについて - aeroastroの日記
    tyru
    tyru 2020/01/23
  • STRAIGHT_JOINをつかったSQLチューニング | GMO MEDIA CREATOR BLOG

    日々のWebサイトやアプリの制作を通じて、役に立ちそうな技術情報や楽しい話を発信しています。私たちはGMOメディア株式会社のクリエイターです。 こんにちは。PHPエンジニアの千葉です。 近所の金木犀が咲いたとおもったら、すぐに散ってしまって少しさびしいです。秋ですね…。 問題となった箇所 ゲソてんには、メッセージ機能というものがあり、 フレンド同士でメッセージのやりとりをしたり、 管理画面からメッセージを配信したりすることができます。 このメッセージ機能をお知らせとして使いたい、 という要望があり、管理画面から配信したものだけに絞り込んで マイページに表示させてほしいという依頼がありました。 ↓マイページをスクロールすると下の方にあります。 このSELECTクエリが今回の主役です。 こんなふうに変わっていきました 第1段階 既存のクエリをコピペして、それをベースに 要件を満たすように手を入

    STRAIGHT_JOINをつかったSQLチューニング | GMO MEDIA CREATOR BLOG
    tyru
    tyru 2020/01/23
  • ヤフー社内でやってるMySQLチューニングセミナー大公開

    速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)NTT DATA Technology & Innovation

    ヤフー社内でやってるMySQLチューニングセミナー大公開
    tyru
    tyru 2020/01/23
  • 『なぜUber EngineeringはPostgresからMySQLに切り替えたのか』について : RavenDB創始者の見地から | POSTD

    『なぜUber EngineeringはPostgresからMySQLに切り替えたのか』について : RavenDB創始者の見地から (訳注:2016/9/28、頂きましたフィードバックを元に記事を修正いたしました。) Uber Engineering グループは、ブログでPostgresからMySQLに切り替えたことについて 非常に素晴らしい報告 (訳注:弊サイトでの和訳は こちら )をしました。ディスク上のフォーマットやパフォーマンスへの影響予測などの詳細まで踏み込んでおり、文字通り、読み応えがあります。 話のネタとしては、Uberからもう1つ素晴らしい記事が出ています。 MySQLからPostgresへの切り替え についてで、こちらも興味深い内容です。 ぜひ、両方読んでみてください。読み終えたら、意見交換しましょう。ブログ内での議論を私たちがこれまで取り組んできたことと比較したいと思

    『なぜUber EngineeringはPostgresからMySQLに切り替えたのか』について : RavenDB創始者の見地から | POSTD
  • Performance

    There are a few problems with the PolePosition test: HSQLDB uses in-memory tables by default while H2 uses persistent tables. The HSQLDB version included in PolePosition does not support changing this, so you need to replace poleposition-0.20/lib/hsqldb.jar with a newer version (for example hsqldb-1.8.0.7.jar), and then use the setting hsqldb.connecturl=jdbc:hsqldb:file:data/hsqldb/dbbench2;hsqldb

    tyru
    tyru 2014/08/03
    H2とHSQLDB作者によるベンチマーク。やっぱEmbeddedモードで使うならH2かHSQLDBか。Derbyこんな遅いの…デフォルトでautocommit onなのもあるけど構造的な問題らしい。
  • SELECT ... FOR UPDATEとロックの挙動 - walf443's blog

    kamipoさんが補足を書いてくれたので、参照するとよいです。 基礎的だけど、SELECT ... FOR UPDATEをちゃんと理解できてない気がするな、ということで実際にコンソールで打ちながら挙動を確認してみた。 今回確認した環境は、 mysql> show variables like 'tx_isolation'; +---------------+-----------------+ | Variable_name | Value | +---------------+-----------------+ | tx_isolation | REPEATABLE-READ | +---------------+-----------------+ 1 row in set (0.00 sec) mysql> show variables like 'version'; +-----

    SELECT ... FOR UPDATEとロックの挙動 - walf443's blog
    tyru
    tyru 2014/03/16
  • Devsの常識、DBAは非常識

    2017/9/7 db tech showcase Tokyo 2017(JPOUG in 15 minutes)にて発表した内容です。 SQL大量発行に伴う処理遅延は、ミッションクリティカルシステムでありがちな性能問題のひとつです。 SQLをまとめて発行したり、処理の多重度を上げることができれば高速化可能です。ですが・・・ AP設計に起因する性能問題のため、開発工程の終盤においては対処が難しいことが多々あります。 そのような状況において、どのような改善手段があるのか、Oracleを例に解説します。

    Devsの常識、DBAは非常識
    tyru
    tyru 2013/09/14
    MySQLチューニング情報だ
  • tweets.zipをMySQLに突っ込んでSQLを学ぶ(導入編) · さよならインターネット

    April 4, 2013 Twitterの過去ログが落とせるようになったので SQLに学ぶには丁度いいや。ということで カジュアルにOSX上でhomebrewを使ってMySQLに入れてみました。 MySQL ver.5.6 (homebrew install) OS / OSX 10.8.3 なにはともあれアーカイブをダウンロード Twitterの個人設定っぽいところから ポチポチするとダウンロードリンクが貼られたメールが送られてくるので ポチポチしてtweets.zipをダウンロード。 tweets.csvを探す tweets.zipを解凍すると、中身がこんな感じに出てきて index.htmlをブラウザで開くと、過去のツウィートが見れたりします。 時間泥棒なのでおすすめしません そして、tweets.csvが目的のファイルで、中身を開くと "tweet_id","in_reply_t

  • MySQLで秘密のトークンを0と比較したら危険だけど AR (>= 3.2.12) 経由なら安全 #MySQL #Rails #ActiveRecord - Qiita

    User.create!(:token => "c4a307708d83f6af91daee857a089587") User.where(:token => 0) # => [#<User id: 1, token: "c4a307708d83f6af91daee857a089587">] 秘密のtokenに 0 で比較するとレコードが出てくる。 MySQLだと 'a' = 0 は 'a'.to_f == 0 相当をやってるっぽい。

    MySQLで秘密のトークンを0と比較したら危険だけど AR (>= 3.2.12) 経由なら安全 #MySQL #Rails #ActiveRecord - Qiita
  • まるで魔法のようなストレージエンジン??VP for MySQLによる驚愕のテーブル操作テクニック。

    先日、SPIDERストレージエンジンについて2度に渡りブログで紹介した(その1:Not Only NoSQL!! 驚異的なまでにWRITE性能をスケールさせるSPIDERストレージエンジン、その2:快適スケールアウト生活への第一歩。SPIDERストレージエンジンを使ってみよう!)が、SPIDERの作者である斯波氏は、実はもう一つ驚くべきストレージエンジンを開発している。その名も、VPストレージエンジンだ。ちょっと地味な名前だが、VPとは、Vertical Partitioning(垂直パーティショニング)の略で、複数のテーブルの上にVPストレージエンジンを被せて、垂直パーティショニング(カラムごとにデータを格納する領域を分ける)を実現するというものだ。他のテーブルの上に被せるアーキテクチャをとっているという点では、VPとSPIDERの発想は同じである。以下は、VPストレージエンジンの動作

    まるで魔法のようなストレージエンジン??VP for MySQLによる驚愕のテーブル操作テクニック。
  • 僕は木になりたい。。。 : MySQLで知っておくと良いかもしれない事 - livedoor Blog(ブログ)

    初めてのRuby このを買いました。 どうも評判が良いようで、おもわず買ってしまいました。 まだ、読んでないのですが。。。 著者のYuguiさんのブログを読んでいたら、以下のようなエントリーがあり、結構びっくりして、調べた結果をエントリーします。 知っている人にとっては当たり前なのかもしれませんが。。 Active Recordが不適当なキャッシュを返す(?)問題 @ 2006年05月 @ ratio - rational - irrational @ IDM ActiveRecordが誤ってキャッシュか何かを返している感じ。これで数時間嵌まった。 新規レコードをsave後、find_by_id(nil)すると、初回の呼び出しに限りsaveしたオブジェクトがマッチする。 MySQLが不適当なレコードを返す問題。 @ 2006年06月 @ ratio - rational - irrati

    tyru
    tyru 2012/11/28
    MySQLはINSERT直後にSELECT hoge from hage where id is NULLするとINSERTしたレコードが返ってくる。set SQL_AUTO_IS_NULL=0;するとこのよくわからん挙動を止めることができる。
  • レプリケーションを使わないMySQLの冗長化

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、DBMSチームの三谷です。 ヤフーでは多くのサービスでMySQLを利用しています。MySQLはヤフーを支える重要な技術の1つです。 私のチームではヤフーのさまざまなサービスのデータベースを集約して管理・運用しています。 集約することでコストの削減やノウハウの蓄積といった効果を生み出しています。 今回はこの集約環境の冗長化方法についてご紹介します。 集約環境の構成 集約環境ではマスターの冗長化にレプリケーションを利用せず、エンタープライズ向けの共有ストレージを利用したアクティブ・パッシブ型のHA構成を採用しています。 データファイルを共有ストレージに置き、どのマスターサーバーからでも同じデータに対してアクセスできるように

    レプリケーションを使わないMySQLの冗長化
  • はてなブログ | 無料ブログを作成しよう

    来年も作りたい!ふきのとう料理を満喫した 2024年春の記録 春は自炊が楽しい季節 1年の中で最も自炊が楽しい季節は春だと思う。スーパーの棚にやわらかな色合いの野菜が並ぶと自然とこころが弾む。 中でもときめくのは山菜だ。早いと2月下旬ごろから並び始めるそれは、タラの芽、ふきのとうと続き、桜の頃にはうるい、ウド、こ…

    はてなブログ | 無料ブログを作成しよう
    tyru
    tyru 2012/11/03
    varchar(256)はdefault-character-set=utf8な場合265 x 3 = 768 bytes消費する。ASCIIしか保存しないのならcharacter set asciiを追加する。
  • 普通にphp-mysqliを使ってCRUDするコード例

    普通にMysqliを使ってみます。特別なネタがあるわけではありません。リファレンスが分かりにくいという声を近くで聞いたので、まあだいたいこんな風にすれば良いんじゃない? というのをメモとして残しておきます。 個人ユースのデータベースといえばやはり住所録ということで、これにデータを出し入れする部分だけMysqliを使って書いてみます。住所録のデータスキームはこんな感じ: create table addresses( id int unsigned not null primary key auto_increment, name varchar(32) not null, kana varchar(64) not null, zipcode char(8) not null, address1 varchar(64) not null, address2 varchar(6

    tyru
    tyru 2012/10/26
  • はてなブログ

    はてなブログをはじめよう はてなブログは、無料でしっかり書けるブログサービスです。 はてなブログの良いところは、なにより文章が書きやすいこと。さらに、楽しいイラストや美しい写真を載せたり、ツイートや動画を貼り付けるのも簡単です。気になったニュースをカード形式で紹介したり、プログラムを見やすくハイライトしたり、どんな記事でもしっかり書くことができます。ちょっとした日常の記録にも、誰かに伝えたい想いを綴るにも、人生の物語を書き残すにも、どうぞご利用ください。 はてなブログとは

    はてなブログ
    tyru
    tyru 2012/10/26
  • localhost の特別扱い - どさにっき

    2012年10月2日(火) ■ localhost の特別扱い _ localhost というのはローカルなホストであって外部のホストではない。はず。なので、デフォルトで特別扱いしているアプリというのがたまにある、というのがちらっと近所で話題になって思い出したことを。 _ MySQL。サーバではなくクライアント側のライブラリ。この手の特別扱いでとびぬけておかしな挙動をしやがる。接続先ホストとして localhost を指定すると、127.0.0.1 でも ::1 でもなく、接続先を勝手に UNIX ドメインソケットに変更してつなぎにいきやがる。 詳細。ライブラリが勝手にやってるので、それを利用するアプリはすべてこのような挙動になる。localhost で待ち受けているのが自ホストmysql サーバではなく、他ホストで動いている mysql に接続するために掘ったトンネルだったりするとこ