2019-01-01から1年間の記事一覧
以前、Software Design の特集記事を執筆しましたが、 sikushima.hatenablog.com 技術評論社のページですべて無料で公開されています。 gihyo.jp ぜひ、ご覧ください。
api-first.connpass.com お時間が合いましたらご参加ください。
SQLの苦手を克服する本 https://www.amazon.co.jp/gp/product/4297107171 ブログで書いている内容を、もっと分かりやすくしたものです。 例えば、以下の記事の内容も、分かりやすく解説しています。 「SQLを文字列連結して作る必要はない」 sikushima.hatena…
Software Design 2019年8月号(2019/7/18発売)の第二特集を執筆しました。 gihyo.jp 是非、ご購入いただいて、ご覧いただければ幸いです。 概要 ゲームを題材に学ぶ ー 内部構造から理解するMySQL 定番的オープンソースRDBのMySQLですが,その使い方につい…
DBオブジェクトについて、Rails などのようにどうしても「外側から管理したい」と考える人たちは、言語側の命名法で処理したいと考えるようですが、DB側から見ると非常に使いにくいです。 そのため、弊社では以下のような命名法で用途に応じて別名を提供して…
はてなの日記からはてなのブログに移り今まで数本の記事を書いてきましたが、Markdownが使えることに今回初めて気づきました(早く言ってよね) ここからは、Markdownで書きます。 目次 目次 パーティションテーブルはなかなか利用されません パーティション…
かなり古いネタですが、DeNA の松信氏のブログから NoSQL と SQLについて考えてみましょう。 目次 目次 DeNA の松信氏のブログ DeNA の松信氏がやった実験 一番遅いのはネットワーク SQLは滅茶苦茶重いが、速くもできる! ユーザアクションに対して SQL は極…
SQL と手続き型言語(オブジェクト指向言語)は最終的には同じです。 今回は、JOIN を手続き型言語(Javaっぽく)書いてみます。 目次 目次 オプティマイズについて 2つの表をJOINしたSQL 単純なネスティッドループ(NESTED LOOP) インデックスを使ったネ…
前回の続き。 目次 目次 正解はこうなる イメージはこうなる つまりこれはバグ!! 「Staticオジサン」はStatic決め打ち ちなみにWordPressはこんな変換をしています
前回の続きです。 目次 目次 まずは間違いの例 もう少しマシな人の例 まずは間違いの例 たぶん、何も考えてない人は以下のようになったと思います。 基本構文を分かってない。どうしようもないですね。 もう少しマシな人の例 工夫はしたけれど、残念! 正解…
「Staticオジサン」が炎上して10年ほど経ちましたが、当時、私が指摘した通りほとんどのエンジニアは「Staticオジサン」よりひどく、10年経っても改善してないどころか、更にひどくなっているのではないかと思います。 目次 目次 自分はできると思う人は例題…
SQL文の動的生成を避けるには、実行計画のキャッシュを意識しなければなりません。 そこで、RDBMS毎にキャッシュのやり方が違いますからその違いと、「本当はこういう構造にすれば良いのに」という提案について書きます。 目次 目次 各RDBMSの実行計画のキャ…
かつて文字列連結をして、SQL文を構築していた時代がありました。 現在では ORM を利用することが多いかもしれません。 しかし、論理演算をしっかり理解して工夫すれば SQL だけで WHERE句などを分岐せずに作ることが可能です。 目次 目次 分岐(IF文)か計…
WHERE句は論理演算の塊になるため、論理演算の理解は非常に重要です。 論理演算の応用として bit演算も SQL にもあります。 bit演算結果をデータとして保存することは、多用はいけませんが効果が高いこともあるのでご紹介します。 目次 目次 FROM句、WHERE句…
はてなのブログに引っ越しました。 思い出したようにブログを再開したいと思います。 目次 目次 Twitterは議論に向かない。 私の主張 SQLの方が息が長いからロジックをSQLへ寄せた方が良い SQLが分かりにくいという常識とは? 教育からやり直すべき 嫌いな人…