Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
以前、MySQLを高速化する10の方法という投稿で「EXPLAINの見方についてはいずれ解説しようと思う」と書いてしまったので、今日はその公約?を果たそうと思う。 MySQLのチューニングで最も大切なのは、クエリとスキーマの最適化である。スキーマの設計は一度決めてしまうとそのテーブルを利用する全てのクエリに影響してしまうためなかなか変更することは出来ないが、クエリはそのクエリだけを書き直せば良いので変更の敷居は低い。そして遅いクエリをなくすことは、性能を大幅に向上させるための最も有効な手段である。従って、アプリケーションの性能を向上させたいなら、まず最初にクエリのチューニングを検討するべきなのである。 最適化するべきクエリはスロークエリログやクエリアナライザで見付けられるが、ではそのようなクエリが見つかった場合にはどのように最適化すればいいのか?そのためにはまず現在どのようにクエリが実行さ
Indexed Database API(以下、indexedDB)について、これまで追いかけてきた情報をとりまとめたので公開します。 indexedDBは当初は仕様が固まっておらず、サンプルコードも当然のように動かなかったので(今も動きませんが…)、検証するにはかなりハードな状況でした。最近になってどうにか動くようになってきたので、@komasshu さんと色々やり取りしながら一通りの動作を確認しました。 現時点で利用できるブラウザは Chrome 9 以降 または Firefox 4 beta 8 以降となります。まだまだ仕様は動いていますので、検証の際は、なるべく最新の開発版を使うことをおすすめします。本エントリーでは、Chrome 9 beta 、Firefox 4 beta 8 にて検証します。また、資料は、2011年1月20日時点の W3C Editor's Draft を参照
データベースの世界でいま注目されているのがNoSQL。特にキーバリュー型データストアは、グーグルのBigTable、FacebookやTwitterが内部で利用しているCassandraやAmazonクラウドが提供しているSimpleDBなど、すでに実際に使われ始めています。 ではそのNoSQLをリレーショナルデータベースの代わりに使ってシステムを構築するとどうなるのか? 身をもって体験したことを記したShinya Kawanaka氏によるプレゼンテーション「間違った方向にCassandraを使ってみた」が公開されています。 NoSQLを用いたシステム構築は、リレーショナルデータベースによる構築どう違うのか? とても分かりやすくまとめられています。ご本人の承諾もいただいたので、その内容を紹介しましょう。 NoSQLを使ったときに起こる恐ろしい事例 プレゼンテーションのテーマは「NoSQLを
sqlite は、クライアント/サーバ形態でない組み込み用のデータベースソフトとして、最近注目を浴びています。この sqlite ですが、現在のバージョンである sqlite3 と、昔のバージョンである sqlite2 の二系統があります。もちろん、今から使うには sqlite3 の方がよいのですが、PHP などでは、まだまだ sqlite2 が使用されています。 ところで、sqlite2 では、一度作った表に新しい列を追加しようとしても、それを一発で操作できる SQL はありませんでした。そこで、それを行うために、一度一時的な表を作成し、そこに現在の表をコピー、新しく列が追加された表を作成、一時的な表から新しい表へコピーすると言う方法で、列を追加すると言う方法をとります。 以下に例を示します。このコードでは、a, b, c, という integer 型の表 test を作成し、そこに、(
一般的なデータベースでは、テーブルの列を増やしたりテーブル名を変更する時にはALTER TABLE文を使います。 ALTER TABLE table ADD ( new_column INT(10) ) ALTER TABLE文はサブコマンドに次のようなものがあります。 ADD 列の追加 MODIFY 列の名前やデータ長などの変更 DROP 列の削除 RENAME テーブル名の変更 しかしSQLiteのALTER TABLE文のサポートは限定的です。 ALTER TABLE sql-statement ::= ALTER TABLE [database-name .] table-name alteration alteration ::= RENAME TO new-table-name alteration ::= ADD [COLUMN] column-def SQLite Quer
※ 画面は公式サイトのデモコードより 最近のWebシステム開発ではO/Rマッピングの利用が当たり前になっている。そのため、生のSQLを書く機会が殆どなくなり、開発がスムーズになっている一方、いざ書くとなると非常に面倒に感じるようになっている(もちろんORマッピングではコストがかかってしまう場合はSQLを書く必要もあるだろうが)。 JavaScriptで実現するO/Rマッピング それはSQLiteが使えるiPhone/Gears/Adobe AIRといった今時の開発に対しては特に言える。O/Rマッピングに慣れてしまった体にはSQLite向けのSQLを書くのは非常に辛い。そこで使えるのがActiveRecord.jsだ。 今回紹介するオープンソース・ソフトウェアはActiveRecord.js、JavaScriptで作られたO/Rマッピングソフトウェアだ。 ActiveRecord.jsが対応
WebOS Goodies へようこそ! WebOS はインターネットの未来形。あらゆる Web サイトが繋がり、共有し、協力して創り上げる、ひとつの巨大な情報システムです。そこでは、あらゆる情報がネットワーク上に蓄積され、我々はいつでも、どこからでも、多彩なデバイスを使ってそれらにアクセスできます。 WebOS Goodies は、さまざまな情報提供やツール開発を通して、そんな世界の実現に少しでも貢献するべく活動していきます。 皆さん、 Google Docs のガジェット機能はもう使ってみましたでしょうか。データをさまざまな方法で可視化するガジェットをシート上に配置できるというもので、このガジェットは自作することもできます(iGoogle ガジェットベース)。その際にスプレッドシートの情報を取得するために使われるのが、本日ご紹介する Google Visualization API で
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く