MySQL 8.0でカジュアルにウインドウ関数(rank, dense_rank)
本エントリはMySQL Casual Advent Calendar 2017の3日目です。
MySQL 8.0ではウインドウ関数がサポートされる予定である最新の8.0.3 RCで実際に動作させることが可能です。
12.19.1 Window Function Descriptions
高度な使い方の代表例としては、以下のように自己結合の代替する、というものですが、
津島博士のパフォーマンス講座 第47回 自己結合と分析ファンクションについて
…
このエントリーは OSS紹介 Advent Calendar 2017 の3日目の記事です。 ytkit
はMySQLの運用に使いそうなちょっとしたスクリプト群です。
2017/12/03現在、ytkitには2つのスクリプトが存在しています。 yt-binlog-groupby
mysqlbinlog の出力結果をパイプで受け取って、テーブルや時間単位でGROUP
BYするためのスクリプトです。 前身は mysqlbinlog_lister.pl
というスクリプトで、これをテスタブルに書き直して機能を追加したものが yt-binlog-groupby
になります。 お手軽にMySQLのバイナリーログを集計するスクリプトのはなし | GMOメディア …
やあ (´・ω・`)
ようこそ、MySQL Fabricのお墓へ。
このサキーラはサービスだから、まず飲んで落ち着いて欲しい。
うん、「やっぱり」なんだ。済まない。
地獄の沙汰もって言うしね、謝って許してもらおうとも思っていない。
でも、このスレタイを見たとき、君は、きっと言葉では言い表せない
「めきめき」みたいなものを感じてくれたと思う。
殺伐とした世の中で、そういう気持ちを忘れないで欲しい
そう思って、この記事を書いたんだ。 じゃあ、注文を聞こうか。 さて本題。 この記事は MySQL Casual Advent Calendar 2017 の1日目の記事です。 …
11/28 に Haskell で MySQL の Xプロトコルを実装したという話が聴ける Club MySQL というイベントがあったので参加してきました。
MySQLのプロトコルの話ということで、平日の夜とは言え東京で参加者9人(発表者含む)というマニアックな集まりでした。
自分も1年前に Ruby で MySQL Xプロトコルを実装していたのですが、このツイートを最後に中断していたのでした。
MySQL X Protocol で Collection の追加はできるようになったが、検索がめんどくさい。条件文字列のパースはクライアントで行う必要があるんだな。
— とみたまさひろ💎🐬 (@tmtms) …
[さらに読む]想定ケースとしては1億行くらいのテーブルから7000万行くらい消すクエリーを、レプリケーションが遅れずバッファプールも食い切らない程度にちまちま消すようにする。
DELETE FROM t1 WHERE hoge = 1 AND last_update < '2017-11-28'
「ちまちま削除する」なので、トランザクションでAll or Nothingを保証したい場合は使えない。
id をプライマリーキー(ただしサロゲートキーかどうかは問わない)、
hoge, last_update が本来消し込みに使いたいカラムだとする。
プライマリーキー(またはユニークキー)がないテーブルのことは考えない。 KEY(hoge, last_update) がある場合
- ターゲットのプライマリーキーを取り出して
DELETE .. WHERE id IN ..の形に落とし込む …
OSC2017-Hiroshima (オープンソースカンファレンス2017広島)に参画してきました。
いつもはブース出展+セミナー開催での参加ですが、出展申込み多数につき、少し出遅れたうちのコミュニティではセミナー枠を確保することができず、今回はブース出展のみ。
前夜祭での牡蠣小屋から、帰る日に立ち寄った宮島まで、存分に広島を堪能し尽くしました。
OSC本体ではものすごい熱気の中、色々なブースでのお話をいつも以上に聞けたのが楽しかったです。
特に、札幌の …
前にいつかどこかでメモした気がしなくもないけれど見つからなかったので。 ⇒ 書き上げてから思い出した、 第33回 MySQLのオプションファイル
my.cnfの豆知識[その2]:MySQL道普請便り だ。。 default-character-set は mysql
コマンドラインクライアントとか mysqldump
あたりで使う、クライアントの文字コードを指定するためのオプション。 MySQL
5.0以前ではサーバー側のデフォルトの文字コードを指定するオプションも同じ名前だったけど、現在ではそっちは …
免責事項
この記事はErik Frøseth氏によるHistogram statistics in MySQL(2017/10/2)をユーザが翻訳したものであり、Oracle公式の文書ではありません。
MySQL 8.0.3では、ヒストグラム統計を作成しオプティマイザがより多くの統計情報を利用できるようにすることができます。このブログ投稿では、どのようにヒストグラム統計を作成し、どのような時に役立つかについて説明しようと思います。
ヒストグラムとは何か
クエリーオプティマイザはデータベースの中で、SQLクエリーを可能な限り最も効率の良い実行計画に変換する役割を担っています。 …
[さらに読む]TL;DR
- hmatsu47 さんに MySQLのキーワードと予約語 の中で「ROLEは予約語じゃなくてキーワード」と教えてもらった
- 予約語とキーワードの違いは、
role_or_ident_keywordにリストされているかどうか? (ちなみに5.7だと単にkeywordってリストになってる)
シンボルのリスト
-
SYM(ROLE)がROLE_SYMに割り当てられている