明滅するプログラマの思索

WEBエンジニアとして勤務している一介の男が、日々気づいたことをまとめるブログです

MySQL

MySQL の JSON 型カラムにインデックスを貼る方法

MySQL は5.6から JSONのデータ型を持てるようになりました。 JSON型カラムへのスキャンは TEXT型カラムと比べはるかに高速ですが、インデックスを利用すれば更なる速度向上が見込めます。 しかし、JSON型カラムに直接インデックスを貼ることはできません。 …

MySQL 8.0 GA を CentOS7 にインストールする

2018年4月19日に MySQL 8.0 GA(Generally Available) がリリースされました。 MySQL 5.7 に比べ最大で2倍の速度と謳っていますが、興味を惹かれるのはやはり GIS(地理情報システム)。 これを遊ぶために、CentOS7 にインストールしてみることにします。

ジェネレータを利用した MySQL データの抽出

DBテーブル上にレコードが大量にあり、これをプログラムでループさせながら処理したい、というケースは非常に多くあります。 この場合、大量にあるレコードを配列に格納することで、よく問題になるのが使用メモリの肥大化です。 PHP5.5以降で実装されたジェ…

MySQL で既存テーブルに JSON 型カラムを追加すると、デフォルトで null が入る

MySQL5.7以降で追加された JSON 型ですが、仕様を把握していないとハマるポイントがあります。 たとえば、テーブルに NOT NULL でJSON型のカラムを追加をすると、既存レコードには null が入ります。 この null は MySQL の NULL ではなく(NOT NULL で追加し…