第1回Database Lounge Tokyoで発表したスライドです。ゆるふわにMySQLのアーキテクチャを解説しました。
![MySQLアーキテクチャ図解講座](https://cdn-ak-scissors.b.st-hatena.com/image/square/3fb3b0deff1da591c5f33d22e75ba09efe23a58c/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2Fmysql-arch-160728002744-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds)
いやー、知らないって怖いね。 なんだこのキモいSQLは、って思ってしまったけど、調べているウチに、これちゃんとSQL構文に則ってる!こちらが間違ってた!って事がわかっていきました。 あえて、知らなかった所から勢いで書いていたのを、そのままにしてみました。 キモいSQLコードを偶然見つけた SQLにおけるORDER BYって、その後にカラム(およびそのエイリアス)を並べてソート順として使用するわけですが、MySQL案件のお仕事の中で偶然こんなものを見つけて、絵に描いたような二度見リアクションしました。 SELECT * FROM tbl ORDER BY id = 23; -- (1) SELECT * FROM tbl ORDER BY FIELD( id, 23, 234, 543, 23 ); -- (2)こうした、「ORDER BYに、あたかもWHERE句で絞り込む条件指定のような使
JDBC 4.0 and Oracle JDeveloper for J2EE Development A J2EE developer's guide to using Oracle JDeveloper's integrated database features to build data-driven applications This book is a practical reference guide to using Oracle JDeveloper IDE and JDBC 4.0 to develop J2EE data-driven applications. The book is suitable for Java/J2EE and Oracle JDeveloper beginners. If you are a J2EE developer and want
PostgreSQL 9.2より追加されたJSON型だが、特徴を理解して適切に使わないと色々な副作用に悩まされることになる。その問題点を挙げると共に、どのような場合に使うべきかの指針を示す。 PostgreSQLは、データ型としてjsonをサポートしています。しかし、やりたいことがある時に何でもかんでもjson型を使ってしまうというのはやめるべきです。これは、hstoreや新しく登場したjsonb型にも同じことが言えます。これらの型は必要な時には便利なツールになりますが、PostgreSQLでデータのモデリングを行う際に最初に検討すべきものではありません。 なぜなら、データを呼び出したり操作したりするのが難しくなってしまうためです。 何もかも同じところに入れてしまおうとすることによるアンチパターンをご存知の読者もいるでしょう。EAVアンチパターンは、長らくデータベーススキーマにおける必要悪
弊社ではテストのエビデンスとして、JUnitの結果とコードのカバレッジを提出するルールにしておりますが、開発者それぞれの環境でallTestをするようなこともあります。その時に環境によっては、マシンのスペックが悪くallTestにけっこう時間が掛かってしまうこと、またその影響でマシンの負荷が高くなり、他の作業を並行してやれず仕事にならないようなことがありました(注1)。その対応としてJenkinsにブランチのallTestが流せるジョブを作って対応しました。 あと、Jenkinsのバージョンはこまめに更新した方が良いなと実感しました。バージョンアップする前はビルド、AllTest、ページビューなどが結構遅くて、周りの人からも遅いという声があがっていました。改善として、サーバのスペックをすぐに上げることは無理そうだったので、jvmのチューニングをしたりしましたがさほど効果はなく、Jenkin
前書き - インデックスの作成はなぜ開発者のタスクなのか インデックスの 内部構造 - インデックスは何に似ているか インデックス リーフノード - 二重連結リスト 検索 ツリー(Bツリー) - バランス木 遅いインデックス パートI - インデックスを遅くする2つの原因 where 句 - 検索のパフォーマンスを改善するためにインデックスを作成 等価 演算子 - 一致するキーの検索 プライマリキー - インデックスの使い方を確認 複合インデックス - 複数列に対するインデックス 遅いインデックス パートII - 前の問題点が再び 関数 - where句の 中での関数 大文字・小文字を区別する 検索 - UPPERと LOWER ユーザ定義 関数 - 関数インデックスの制限 インデックスの作り過ぎ - 冗長性の排除法 パラメータ化 クエリ - セキュリティとパフォーマンスのために 範囲 検
この本の概要 大変お待たせいたしました。大好評の「SQLポケットリファレンス」が6年ぶりにリニューアルされ,第3版となって発行されます。この6年の間に,データベースは進歩しました。6年ぶりの改定ゆえに,大幅増補となって,しかしお値段は据え置きです。Oracle[8/8i/9i/10g/11g],SQL Server[6.5/7.0/2000/2005],Access[97/2000/2003/2007],DB2[V7/V8/V9],PostgreSQL[7.3/7.4/8.0/8.1/8.2/8.3],MySQL[3.23/4.0/4.1/5.0/5.1」対応です。 こんな方におすすめ SQLを使う人全般 第1部 SQLとは(SQLの基礎概念) 1.1 SQLの歴史 1.2 言語体系 1.3 テーブル構造 1.4 スキーマ 1.5 ユーザと権限 1.6 1.7 ストアードプロシージャ 1.
仕事柄、奇妙なDB構造を目にすることが多い。どういう発想からそんな設計がされるのかを理解したいと思っていたのだが、モデラー仲間の秋里さんが先日うまい指摘をした。「主キーをインデックスみたいなものと勘違いしているからではないでしょうか」。インデックス(キー)というのは、レコードの並び順を規定するキーのことだ。 たしかに思い当たる節がある。「こんな順にレコードが並んでいれば処理上都合がよさそうだ」という考えで主キーが設定される。さらに主キーはユニーク制約でもあるので、重複が起こらないように「多め」に項目を突っ込んでおく。つまり「ユニーク制約をともなう代表的インデックス」程度に主キーが理解された結果として、グダグダなDB構造が出来上がるのではないか。 じっさい、昔こんなことがあった。{a,b,c,d}の複合主キーをもつテーブルXがある。ところが、別のテーブルYからテーブルXの特定レコードにアクセ
Perl Hobby Programming - Games::BeLike::EightBIT ターミナルで8ビット風ゲームをつくろうkeroyonn
皆さまにとってより健康的な旅行の方法についてお伝えしていきたいと思います。特に、ハイキングがお好きな男性や女性にとっては、自然の中でのアクティブな運動と、美しい景色を楽しむことができる非常に魅力的な旅行方法となっています。 ハイキングは、山や森林などの自然環境に触れることができるだけでなく、歩くことによる運動効果も期待できるため、健康へのプラス効果も高いです。また、カップルや友人同士で行うことで、お互いの絆を深める機会ともなるでしょう。 ハイキングについての事前知識 しかしながら、ハイキングが初めての方や体力に自信のない方にとっては、少しハードルが高いかもしれません。そこで今回は、初心者でも楽しめるハイキングのポイントやアドバイスをご紹介いたします。さらに、旅行をもっと親密に楽しむためのアイデアもご提案していきます。 ぜひ、ご一緒にハイキングができる旅行について、詳しくご紹介していきますの
本コンテンツは、2014年1月30~31日に筑波大学で開講された「情報システム特別講義D」における講義「Inside PostgreSQL Kernel」の内容を再構成、加筆・修正したものです。 はじめに 本コンテンツについて 本コンテンツへのフィードバックについて アーキテクチャ概要 PostgreSQLの構成要素 PostgreSQLの基本的なアーキテクチャ SQL文の処理される流れ トランザクション管理 トランザクション処理におけるACID特性 各レコードの可視性の管理 Atomicity(原子性)の実装 Consistency(一貫性)の実装 Isolation(分離性)の実装 トランザクション分離レベルの定義 Durability(永続性)の実装 チェックポイント メタデータ管理 pg_controlファイル OID/XID/TID システムカタログ MVCCとストレージ構造 テ
どの最適化が効くんや…とググった。 以前も調べた気がしたが思いだせず、ひたすらググる羽目になったので、 反省してブログに残す。ふつーにmysqlのdocumentに書いてあった。 http://dev.mysql.com/doc/refman/5.7/en/limit-optimization.html If you use LIMIT row_count with ORDER BY, MySQL ends the sorting as soon as it has found the first row_count rows of the sorted result, rather than sorting the entire result. If ordering is done by using an index, this is very fast. バージョン古いけど日本語のほ
Bill Karwin “SQL Antipatterns: Avoiding the Pitfalls of Database Programming” の読書メモ。 Jaywalking 目的 ある属性について、複数の値を持たせる。 アンチパターン : カンマ区切りリスト カンマ区切りで複数の値を 1 つの列に納める。 例では、特定の製品についての担当者を複数設定するのにカンマ区切りで、担当者のアカウントIDを記述している。 create table products ( product_id integer, product_name varchar(1000), acount_id varchar(100), -- comma separated list -- ... ); insert into products (product_id, product_name, accou
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く