2114 件中 1 - 10 件を表示
次の 10 件 »
Firebirdでデータの歯抜けを探す(NULLあり、の続き)

Firebirdでデータの歯抜けを探す(NULLあり、の続き)

本件はFirebird Advent Calendar 2017の11日目です。

一昨日のブログ書いてから気づいたんですが、以下の条件に加えてもうひとつ条件がありました。

条件1: seqは整数
条件2: seqは1からはじまり、1ずつ増えていく連番
条件3: seqはNULLではない。
条件4: (seq+1)はオーバーフローしない
条件5: seqは重複しない

つまり、seqをINTEGERで宣言すると条件1を満たし、さらにUNIQUE制約をつけると条件5、
さらにPRIMARY KEYにすれば条件条件3, ダメ押しでMySQLでいう「AUTO_INCREMENT」的な

[さらに読む]
ファイル倉庫系DBをSQLiteでなんとかできるか

MySQLのDBAをしていると、MySQLを「SQLでアクセス可能なファイル倉庫」として使う人たちに出会うことがある。

彼らの要件はだいたいこんな感じ・・・

  • SQLを喋れる「何か」である必要があるが、MySQLである必要はない
  • DBサーバに入れておけば、可用性やバックアップ面が担保されているので楽チンだからDBに入れる
  • DBサーバを自分たちで運用したくない
  • 処理はアドホックに行われ、雑なSQLが流れる、多くは解析系
  • ログやバイナリを雑に保存する。容量が増えていく

ファイル倉庫系は「そこそこ」動いてれば良いので問題が出ても根本対策がされず、だましだまし運用を続ける、「癌化」しやすい注意案件である。

Excel 以上、MySQL 未満 …

[さらに読む]
mikasafabric for MySQLのつらいところ

この記事は MySQL Casual Advent Calendar 2017 の8日目の記事です! 1週間前の記事、 日々の覚書: これが多分最後の「MySQL Fabricつらい」 でお焚き上げをしたMySQL Fabricですが、 世の中の物好きな会社 がMySQL Fabricをフォークして mikasafabric for MySQL として使っています。 今日はそのmikasafabric つらい つらくない話をします。ハンカチの用意はよろしいでしょうか。 取り敢えずぶっちゃけた話をするとPythonつらい。

  • どこにクローズ漏れがあるのか …
[さらに読む]
Firebirdの分析関数の衝撃(1)row_numberでデータの歯抜けを探す

MySQLも8.0からWindow関数が実装され、これでオープンソースRDBMS御三家すべてでWindow関数が利用できるようになります。(PostgreSQLは8.4から、Firebirdは3.0から実装済み)

今後は各種SQL本でも、Window関数が普通に掲載され、普通に利用されてくると思いますので、
ここではミックさんや山岸さんが扱わない(たぶん)Firebirdでの利用について、検証・紹介しておきます。

1.データの歯抜けを探す(Window関数を使わない方法)

データの歯抜けを探す方法はミックさんの「HAVING句の力(CodeZine)」記事にて説明されています。

FirebirdでもWindow関数を持たない3.0より前のバージョンでは、この方法が使えます。以下のテーブルを

[さらに読む]
MySQLのデッドロックについて

この記事は MySQL Casual Advent Calendar 2017 の7日目です。 最近、デッドロックを真剣に対応する機会があったのでその時のメモです。

デッドロックとは?

デッドロックとは「複数のトランザクションが互いがロックの開放を待ち、結果として、どの処理も先に進めなくなってしまった状態」を指す。 単にロック待ちが長時間になっているケースはデッドロックとは呼ばない。

時間 TRANSACTION(1) TRANSACTION(2)
1 BEGIN
2 BEGIN
3 UPDATE t1 SET col1 …
[さらに読む]
ConoHaの上でひたすらMySQLをビルドする簡単なお仕事

この記事は ConoHa Advent Calendar 2017 の4日目の記事です。 「ConoHaの上で」と銘打ってはいますが、俺の普段使いのLinux環境がConoHaだからというだけで、VirtualBoxだろうとEC2だろうとCentOS 7.4なら全部似たような結果になると思います というわけでまずは吊るしのConoHaのVPSインスタンスを作ります。 最近のMySQLはビルドに結構メモリーを食うのでメモリーは1GBのものを選びました(512MBだと、途中でOOM Killerに殺されるかまたは永遠にビルドが終わらないと思います。5.7とそれ以降) WEBからポチポチしてSSHでログインできたら、さっさとビルドを開始します。 まずは 5.0からいきましょう。 2017/12/04現在、サポートが継続されているMySQLは5.5, 5.6, 5.7の3系統です。 …

[さらに読む]
MySQL 8.0でカジュアルにウインドウ関数(rank, dense_rank)

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回 自己結合と分析ファンクションについて

[さらに読む]
ytkit - Yoku-san no ToolKITの紹介

このエントリーは 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 Fabricのお墓へ。
このサキーラはサービスだから、まず飲んで落ち着いて欲しい。 うん、「やっぱり」なんだ。済まない。
地獄の沙汰もって言うしね、謝って許してもらおうとも思っていない。 でも、このスレタイを見たとき、君は、きっと言葉では言い表せない
「めきめき」みたいなものを感じてくれたと思う。
 殺伐とした世の中で、そういう気持ちを忘れないで欲しい
そう思って、この記事を書いたんだ。 じゃあ、注文を聞こうか。 さて本題。 この記事は MySQL Casual Advent Calendar 2017 の1日目の記事です。 …

[さらに読む]
本当はこわいMySQLプロトコル

11/28 に Haskell で MySQL の Xプロトコルを実装したという話が聴ける Club MySQL というイベントがあったので参加してきました。

clubmysql.connpass.com

MySQLのプロトコルの話ということで、平日の夜とは言え東京で参加者9人(発表者含む)というマニアックな集まりでした。

自分も1年前に Ruby で MySQL Xプロトコルを実装していたのですが、このツイートを最後に中断していたのでした。

MySQL X Protocol で Collection の追加はできるようになったが、検索がめんどくさい。条件文字列のパースはクライアントで行う必要があるんだな。

— とみたまさひろ💎🐬 (@tmtms) …

[さらに読む]
2114 件中 1 - 10 件を表示
次の 10 件 »