3/16 に新著が出ます。タイトルは『達人に学ぶDB設計 徹底指南書』。名前からピンと来た方もいるかもしれませんが、『達人に学ぶ SQL徹底指南書』の続編に当たります。本の装丁も同じ轟木亜紀子さんにお願いしたので、シリーズものっぽく仕上がっています(写真は文末の Amazon へのリンク参照)。 本書も、前回の SQL 編と同様、初級者から中級者へステップアップするためのコツやノウハウを詰め込んだ盛りだくさんな内容になっています。ただし、正規化や ER 図の描き方や、インデックスの仕組みやバックアップといった論理・物理両面における設計の基礎についてもカバーしているので、初級者であっても置いてけぼりにすることのないよう配慮したつもりです。 ただ、DB 設計というのは非常に広範囲な内容を含むので、イメージが湧かない、という方もいるでしょう。そこで以下に、本書の章構成と前書きを示しますので、購入
SQLは集合論をその基礎の一つとする言語ですが、これまで、SQLが集合演算の整備を怠ってきたことも手伝って、その機能は十分に活用されてきませんでした。しかし近年、ようやくSQLにおいても基本的な集合演算の機能が出揃い、本格的な応用が可能になってきました。本稿では、SQLの集合演算を利用したSQLを紹介し、その背景にある考え方を解説します。 はじめに SQLが集合論に立脚する言語であるということは、この連載で一貫して強調してきたテーマの一つです。その特性のゆえに、SQLは「集合指向言語」と呼ばれていますし、実際、集合的な観点から見たときに初めて、その強力さが理解できると私は考えています。しかし現実には、SQLのこの側面は長らく無視されてきました。 その背景には、SQLにも責任の一端があります。というのも、SQLはちょっと前まで、高校で習う程度の基本的な集合演算子すら持っていなかったからです。
以前、MySQLを高速化する10の方法という投稿で「EXPLAINの見方についてはいずれ解説しようと思う」と書いてしまったので、今日はその公約?を果たそうと思う。 MySQLのチューニングで最も大切なのは、クエリとスキーマの最適化である。スキーマの設計は一度決めてしまうとそのテーブルを利用する全てのクエリに影響してしまうためなかなか変更することは出来ないが、クエリはそのクエリだけを書き直せば良いので変更の敷居は低い。そして遅いクエリをなくすことは、性能を大幅に向上させるための最も有効な手段である。従って、アプリケーションの性能を向上させたいなら、まず最初にクエリのチューニングを検討するべきなのである。 最適化するべきクエリはスロークエリログやクエリアナライザで見付けられるが、ではそのようなクエリが見つかった場合にはどのように最適化すればいいのか?そのためにはまず現在どのようにクエリが実行さ
■ インデックスとは データベースの世界で、インデックス(索引)とはテーブルに格納されているデータを 高速に取り出す為の仕組みを意味します。 インデックスを適切に使用することによってSQL文の応答時間が劇的に改善 される可能性があります。 インデックスにはB-Treeインデックスをはじめ、ビットマップインデックス、 関数インデックスなどの種類がありますが、ここでは最も一般的に使われ、かつ ほとんどのDBMSでサポートされているB-Treeインデックスについて解説します。 ※ CREATE INDEX文でオプションを指定しない場合は通常B-Treeインデックスが 作成されます。 ■ B-Treeインデックスのしくみ B-Tree(Balanced Tree)インデックスは次のようなツリー状の構造になっています。 ツリーの先頭はヘッダブロックと呼ばれています。ヘッダブロックでは、キー値の 範囲
どこまで出来るか?!やれるところまでやってやるぜ!!と、威勢が良いのは若い間だけの話。オトナのオトコは、攻めるときはとことん攻めるが自らの限界もわきまえて賢く振る舞うのがスマートってものである。というわけで、今日はMySQLのいろいろな限界についてまとめてみる。皆さんも是非MySQLの限界を知り、MySQLをもっとスマートに使って頂きたい。 SQL文の最大長 MySQLサーバーが実行出来るSQL文の最大長は、max_allowed_packetシステム変数で表される。max_allowed_packetの最大値は1GBである。max_allowed_packetの値はセッションごとにも設定可能なので、デフォルトではそこそこの値(16MBなど)に設定しておいて、必要に応じて大きな対を使うと良いだろう。 データベースの個数 データベースオブジェクトの個数に制限はない。データベースオブジェクトは
2005年3月16日からは試験時間と問題数が変更されました。以前は120分で56問でしたが、問題数が少なくなり90分で40問になりました。ただし以前は71%だった合格点の割合は、変更後も70%ですので難易度は変わりません。問題数が少なくなった分、いかに各設問に正解するかが重要です。また、以前はオブジェクトの作成関連はほとんど出題されていませんでしたが、試験が変更されてからはかなりの問題数が出題されています。 ではBronze SQL 基礎 Iの範囲に沿って各種問題を解きながら解説していきましょう。 基本的なSELECT文の作成 理解しておきたいこと 1. 確認しておきたい内容 SELECT文の機能 基本的なSELECT文の実行 SQL文とiSQL*Plus(SQL*Plus)コマンドの区別 2. SQL文の区分 SQL(Structured Query Language:構造化問い合わせ言
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く