「MySQLには (特にPostGISと比べて) 対応している空間関数がとても少ない」と、この7年間言い続けてきました。 一方で、MySQL 8.0 以降(正確には5.7以降)のGIS関数は Boost::Geometryという専門家のようなライブラリを活用して、独自実装を避けるようになった、ということもお伝えし続けてきました。・・・この2つの情報を組み合わせると、 「 Boost::Geometryライブラリの関数を呼び出すコードを書けば、MySQLにもどんどんGIS関数を追加できるのではないか」 という必然に行き着きます。・・・これに気づくまでに7年かかった。。。 ということで、Polyg…
先日参加した「MyNA(日本MySQLユーザ会) 望年LT大会2025@新宿」にて、(要約すると)「Spatial Indexなんかよりも緯度経度で検索したほうが、ずっと速いよ!」という発表を聞かせていただきました。 speakerdeck.com MySQLのSpatial Indexは遅いのか? 今回設定されたケースでは、「緯度経度での検索」が最速なのは、言われてみれば納得感はあります。何と言ったって、緯度と経度の数字の大小関係だけで対象エリアが特定できるのだから、余計なことをしない(プリミティブな数値型だけで評価できる)方法が最速になるんじゃないかな。 ・・・・という仮説を、会場でもお話…
2025年12月19日、「MyNA(日本MySQLユーザ会) 望年LT大会2025@新宿」を開催しました。 mysql.connpass.com 6年ぶりのオフライン開催 コロナ期間に2回ほどオンラインで開催したことはありましたが、オフラインでの開催は、赤坂のお店を借り切って実施した2019年以来の6年ぶり。さくらインターネットさんに会場提供いただいき、開催することができました。どうもありがとうございます。 単に情報伝達をするだけならば、オンラインのイベントは非常に有効なのですが、ユーザー会としてはやはり「交流」という部分を大切にしていきたい。そんな思いでのオフライン開催です。 申込み、伸び悩…
この記事は MySQL - Qiita Advent Calendar 2025 の21日目の記事です。
昨日は @meijik さんの MedianやPercentile_%が欲しい連合会(Firebird/MySQL) でした。
ふと MySQL RouterのRead-Write Splittingの設定
を見ていたら、前提条件として connection_sharing: must be set to 1.
と書いてあって、俺が使っていた8.0の頃のRouterと比べて増えたなあと思って調べてみた。
MySQL :: MySQL Router 8.4 :: 3.4 Connection Sharing …
[さらに読む]
本エントリはMySQL Advent Calendar 2025の17日目のエントリです。
MySQL HeatWave Migration AssistantはオンプレやIaaS上のMySQLをOracle Cloud
Infrastructure(OCI)に簡単に移動するためのツールです。
この移行ツールは最新のMySQL Workbenchパッケージに含まれています。
# MySQL Workbench ! おまえ生きていたのか!!
以下の記事に概略があります。
OCIのMySQL HeatWaveへの移行を支援するMySQL HeatWave
Migration Assistantのご紹介(The Oracle MySQL Japan Blog)
これで概略をつかんだ後、
具体的にStep by …
この記事は MySQL - Qiita Advent Calendar 2025 の15日目の記事です。
昨日は @meijik さんの 君はMySQL RP を知っているか?! でした。
ここ最近(?) 小さな mysqlコマンドラインクライアント への変更が入っているのでそれを紹介します。
MySQLサーバー ( mysqld )
の機能ではないので、接続先のバージョンがいくつであっても変わりません。クライアントのバージョン依存です。
コメントが勝手に消えなくなった
実は mysql …
MySQL の KILL コマンドのおさらい
MySQL の KILL コマンドには 2種類あります。
-
KILL <CONNECTION_ID>またはKILL CONNECTION <CONNECTION_ID>- ターゲットの接続で実行中のクエリがあれば終了し、接続も切断します。
-
KILL QUERY <CONNECTION_ID>- ターゲットの接続で実行中のクエリを終了します。接続は維持します。
ProxySQL経由でのKILL - IDが食い違う問題
ProxySQL を経由した状態で KILL CONNECTION をやってみます。 ID
535 の SELECT SLEEP(100), user FROM …
このエントリーは MySQL - Qiita Advent Calendar 2025 - Qiita の 13日目 のエントリーです。 昨日は、@discus_hamburg さんの 帰ってきた! 標準はあるにはあるが癖の多いSQL #20 - Table Value Constructer (TVC) でした。
以下のエントリーで、MySQL でパーティション化によって性能が向上するケース、劣化するケースを考察しました。 今回は、 …
[さらに読む]
本エントリはMySQL Advent Calendar 2025の14日目のエントリです。
MySQL RP (Restore
Performance)は、日本オラクルで唯一のMySQL(InnoDB)開発者だった木下さんがはじめたMySQL性能回復活動です。(現在は退職されフリーになっています)
MySQL性能回復活動(MySQL RP)を独自に始めます(DB改造屋雑記)
取り組みから半年がたち、さまざまなパッチを開発し、
現時点(2025-12-14)で「世界で最もCPU性能スケールが高いMySQL」となっています。
MySQL RP-8.0 …
このエントリーは MySQL - Qiita Advent Calendar 2025 - Qiita の 10日目 のエントリーです。 昨日は @himura467 さんの 令和七年冬、DBD::mysql の quote メソッドを読む - ひむ日記 でした。
MySQL の Connection ID のおさらい
MySQLでは、クライアントから接続があるたびに、そのセッション(接続)を一意に識別するためのIDが割り当てられます。
Connection IDは、主に以下の方法で確認できます。
-
CONNECTION_ID()関数
…
[さらに読む]