mysql

MySQL 8.0.24で予定されているCAST()の拡張はGIS機能を大きく進化させる

最近、MySQLのリファレンスマニュアルの差分を追いかけているのですが、本日の更新で、Spatial(GIS)機能に注目している人には非常に大きな機能に関する記述が追加されました。CAST() 関数と CONVERT() 関数の spatial への拡張です。MySQL :: MySQL 8.0 Refe…

続・MySQL 8.0.23 の INVISIBLE COLUMN :その用途

昨日の日記で、MySQL 8.0.23 で開放された INVISIBLE COLUMN(不可視列)について書きました。 sakaik.hateblo.jp用途がよくわからない、といいつつ、最後に、「PKを不可視列にすれば、ちょっとだけINSERTが便利!」ということを発見したのですが、偶然なが…

MySQL 8.0.23 の INVISIBLE COLUMN を試してみる

MySQL 8.0.23 では、INVISIBLE COLUMN の仕組みが解放されました。 ドキュメントによると「カラムを追加しても、SELECT * の動作に影響を与えないところがいいんだよねー」と書いてあるのですが、うーん、それって何処の人のニーズなの?という感じで、もに…

MySQL 8.0 マニュアル(Rev.68436)

2021-01-06 revision: 68430 to 68436 はじめに 開始して3回目の日記ですが、うん、これは毎回の変更を追うのは、無理だ(笑)。 ということで、更新のたびに(日記を)更新、というのは断念し、次回以降は、目についた面白そうな更新があるときだけ紹介する…

MySQL 8.0 マニュアル(Rev.68430)

2021-01-04 → 2021-01-05 revision: 68413 to 68430 基本的には、auto-extend に関するあれこれ追加。マニュアルのインデックスへの追加や 13.1.10 ALTER TABLESPACE Statement に AUTOEXTEND_SIZE に関する情報をより詳細に記述追加 5.1.4 Server Option, S…

MySQL 8.0 マニュアル(Rev.68413)

日々更新されている MySQL リファレンスマニュアル。どれくらい、どんな事がどんな粒度で更新されているのかを知りたくなったので、少しおいかけてみています。気が向いた範囲でここでも披露できればと思います。 もう既に、こりゃ大変だ、、と気づいてしま…

MySQLの地理情報データをQGISで表示する方法

この日記は、 RDBMS-GIS(MySQL,PostgreSQLなど) Advent Calendar 2020 の14日目ぶんとして後から書いているものです。 この日記は QGISという GISの専用ツールがあります。 QGIS が何かについては私も語るほど整理できた情報を持っていないので、とにかく地…

mysql CLCをWindows10上でデバッグするメモ

先日、Windows 10 上であっさりと mysql.exe が落ちる事象について書きました。 sakaik.hateblo.jp早速、yoku0825 さんがバグ報告を上げてくださったので、対応されるのが楽しみです。 bugs.mysql.com あとは本家の対応待ちでも良いのですが、あまりにも落ち…

カジュアルにmysqlを落とす(Windows)

先日の日記を書くために色々試している最中、あまりにも潔く mysql クライアントコマンドがさくっと落ちるので、発生条件を調べてみました。原因の特定には至っていません。 起こっていること Windows 10 のMySQLにて、mysql> プロンプトが出ているところで…

shapefileをMySQLに取り込む!shp2sqlの紹介

この日記は、RDBMS-GIS(MySQL,PostgreSQLなど) Advent Calendar 2020 の7日目ぶん(あいていたので後から埋めてます)の記事です。 この日記は 世の中の地理情報データ(位置の情報を含んだデータ)には、shapefile というファイル形式で公開されているもの…

MySQLでデフォルトデータベースをナシにする方法

タイトルを見てピンと来ない人も多いと思いますが、MySQLで、「use DB名」してデフォルトデータベースを一度指定すると、もう、何も指定していない状態には戻れないようですというお話です(ようです、というのは、私が方法を知らないだけかもしれないという…

MySQLの空間データ型の変換(1)~MULTIPOINTやLINESTRINGからPOINTを得る~

この日記は、RDBMS-GIS(MySQL,PostgreSQLなど) Advent Calendar 2020 の 17日目のエントリーです。 はじめに MySQLで取り扱うことができる空間情報の型には、点、線、ポリゴン があります。それぞれ にそれらの集合を扱える型が存在してるので、都合6つとな…

MySQLのGIS機能で円の範囲に含まれる点を検索する試行

この日記は、RDBMS-GIS(MySQL,PostgreSQLなど) Advent Calendar 2020 の16日目の記事です。 何をしたいか 先日の日記で雑に作成した大量のPOINTデータを使って、ある点から一定距離内にある点を検索します。普通にやると結構時間がかかりますが、空間インデ…

MySQLに超・雑に大量のPOINTデータ(位置データ)を作成する方法

これは、RDBMS-GIS(MySQL,PostgreSQLなど) Advent Calendar 2020 の11日目のエントリだったはずのものです。実際には3日ほど遅れてしまいました。 MySQLで、空間情報を扱う動作の確認をしたいときに、ちょっとばかり多めのデータが欲しくなることがあります…

こんなイベントをやりたかった!MyNA望年LT大会2020

本日、MyNA(日本MySQLユーザ会) 望年LT大会2020 をオンラインで開催しました。 顔を突き合わせて、ちょっとばかりのアルコールを摂取しながら、楽しい気分で大好きな技術を語り合う場というのは、やっぱり素晴らしい何かが生まれる場でもあります。一方で、…

今後のMySQLに実装されるspatial(GIS)関数たち

これは、RDBMS-GIS(MySQL,PostgreSQLなど) Advent Calendar 2020 の2日目のエントリです。 MySQLのリファレンスマニュアルは、開発チーム内部でそれが実装されたタイミングで記述、公開されるルールになっているのか、まだリリースされていないバージョンの…

MySQLにemployeeサンプルデータを入れる

MySQLでとりあえず何かのデータが入っている状態(そこそこレコードがある状態)が欲しいと思っていたところ、やまさきさんに Employee サンプルデータを教えてもらいました。それほど大きい訳ではありませんが(約167MB)、MySQLチームで提供している大き目の…

「日本MySQLユーザ会会2020年11月」を開催しました

4ヶ月ぶりの「日本MySQLユーザ会会」、通称「MyNA会(まいなかい)」を開催しました。 ちなみに「今頃MyNA会やってるのかなー」と思って「MyNA会かな?いま。」と呟くと、これ、回文になっていますので、豆知識として覚えておくと、どこかでネタとして使えるこ…

Re: MyISAMで第2カラムのAUTO_INCREMENTを使ってるテーブルを洗い出すSQL

yoku0825 さんが、面白そうなブログを書いていました。 yoku0825.blogspot.com MySQLの auto_increment 列は キーカラムである必要がありますが、このキーは複合キーでも構わない。ただし 複合キーの場合は、InnoDB ではキー指定のうちの1つめのカラムである…

OSC2020新潟オンライン 参画

オープンソースカンファレンス2020新潟オンライン(OSC2020 Online Niigata)に参加してみました。ospn.connpass.com 新潟でのOSCは、とにかくお酒とごはんのおいしさと、東京(上野)からも電車一本で行ける気軽さ故、毎年の開催を楽しみにしていたOSCのひと…

日本MySQLユーザ会会開催しました(2020年7月版)

日本MySQLユーザ会会(MyNA会)と銘打つものとしては久しぶりに、イベントを開催しました。 いつものMyNA会は、そのタイミングでお話したいネタを持っている方に話していただくということで、多岐に亘る話題となることが多いのですが、今回はイベント全体にテ…

メモ:MySQLの NOW() と SYSDATE()

MySQLで、NOW()もSYSDATE()も、大雑把には「現在時刻を返す関数」なのですが、実はその挙動は異なります。 現在時刻とは何か、つきつめると「時間とは何か」という哲学的なテーマになるのですが、ここではそんな難しい話ではなく、さしあたって MySQL では、…

MySQL徹底入門4版 ここがすごい!...かもしれない

9年ぶりの全面改定「MySQL徹底入門 第4版」がいよいよ発売日になるので、私の主観と、思い入れと、おふざけ心を駆使して、「MySQL徹底入門 第4版 ここがすごい!」・・・かもしれないところを紹介したいと思います。MySQL徹底入門 第4版 MySQL 8.0対応作者:y…

MySQLのレプリケーションで「master」と「slave」が廃止へ!(用語の話)

本件、いろいろ思うところや意見はあるのだけど、それはtwitterで書いたので、ここでは淡々と紹介します。 本日、MySQL High Availability ブログにて、MySQL内での用語の変更について、以下の発表がありました。https://mysqlhighavailability.com/mysql-te…

『MySQL徹底入門第4版』が 本当に 出ます!(MySQL 8.0 対応)

MySQL を知りたい人向けの定番入門書として名高い『MySQL徹底入門』という本があります。2020年6月現在、第3版が出ていて、その発行は2011年、対応バージョンがMySQL 5.5でした。 そして来月 2020年7月。待望の第4版が出版されます。 第4版は、過去3つの版の…

OSC2020-Online Hokkaido 参画

オープンソースカンファレンス(OSC)2020 Online Hokkaido に参加してきました。 event.ospn.jp もともと、「普通」に札幌現地で開催される予定だったイベントですが、「新しい普通」にオンラインで開催へと変更されました。飛行機等を早めに取っていたので、…

MySQL道普請123回のUPDATE前にロッキングリードの話を読んでの感想と実験(追試)の結果

gihyo.jpの連載「MySQL道普請便り」の最新回(第123回)は、ロッキングリード(SELECT ~ FOR UPDATE)のつかいどころのお話が興味深かったです。gihyo.jp 乱暴に要約すると、例えば 5000枚のチケットを捌くUPDATEは、いきなり UPDATE するのではなくて、SELEC…

MySQL25年&MyNA(ユーザ会)20年記念イベントを開催しました

わざわざ普段のMySQL勉強会で「10年前はこんなのでした」「15年前のバージョンでこんなのがあってね」なんて話をする奴は、いない。やっぱりみんな、最新バージョンでどうなったのか、どう使っているのか、という話をしたいし、聞きたい。だからこそ、振り返…

MySQLでCTEを使ってマンデルブロを描く

MySQL に CTEが入ったんですよという話題の中で、PostgreSQLのCTEの定番でこんなものがあるんですよ、とPostgreSQLの(というかSRA OSSの)石井さんに教えていただきました。Mandelbrot set - PostgreSQL wiki もちろんこのままではMySQLでは動かないのです…

MySQL: CHAR(0)の動作が変わっていた

11年ほど前に書いた日記がふと目にとまりました。CHAR(0)という列を定義できるというお話。 sakaik.hateblo.jp 当時のバージョンが明記されていないため、よくわからないのですが、最新の 8.0.20では挙動が変わっているようです。 mysql> CREATE TABLE t1 ( …