NTT オープンソースソフトウェアセンタ 板垣 貴裕 スロークエリ (時間のかかるSQL) を発見するまでの手順を解説します。スロークエリ分析と改善は以下の流れで行うことになります。この記事では主に 1. のスロークエリの特定方法について解説します。2.については『スロークエリの改善』を参考にしてください。 どのSQLが遅いのかを見つける。 そのSQLがなぜ時間がかかるのかを判断する。 設定パラメータ、SQL、スキーマなどを改善する。 着目したSQLの性能を再測定し、2. から繰り返す。 着目したSQLのチューニングが完了したら、他のボトルネックを探すため 1. から繰り返す。 スロークエリの見つけ方 スロークエリを見つけるには、大きく分けて統計情報ビューを使う方法と、サーバログを使う方法の2つがあります。統計情報ビューを使う方法は PostgreSQL 8.4 以降でしか利用できませんが
このサイトは、もともと作者の自分用メモとして書き始めたものです。書いてあることが全て正しいとは限りません。他の文献、オフィシャルなサイトも確認して、自己責任にて利用してください。 数十万レコードのデータを持つ大規模なテーブルを扱うようになると、クエリによっては回答が得られるまでに数秒かかるケースも出てくる。これは、より多くのメモリやディスクの使用を PostgreSQL に許すことで改善される可能性が高い。ただし、扱っているデータベースが小さい時には大した効果は望めない。また、そもそもの実装メモリが 256M とか 128M という貧弱な状態では、調整の余地さえなく、単なる悪あがきだ。以下は搭載メモリ 1 ギガを目安に書いている。更に、テーブルの素性とクエリパターンによっては、テーブル自体のクラスタ化が加速を上乗せしてくれるかもしれない -- クラスタリングや適切なインデックスの作成は、メ
昨日のエントリ「SQLインジェクションゴルフ - 認証回避の攻撃文字列はどこまで短くできるか?」にて、認証回避の攻撃文字列が5文字にできる(「'OR'1」)ことを示しましたが、@masa141421356さんと、やまざきさん(お二人とも拙著のレビュアーです)から、idとpwdにまたがった攻撃例を示していただきました。やまざきさんの例は、MySQL限定ながら、なんと3文字です。これはすごい。 @masa141421356さんの攻撃例 @masa141421356さんのツイートを引用します。 @ockeghem 大抵のDBでid=''OR' AND pwd='>' ' が通ると思います(id側に「'OR」, pwd側に「>' 」で6文字)。長さ0の文字列がNULL扱いされないDBなら最後のスペースを消して5文字です。 — masa141421356 (@masa141421356) June
データベースの作成 それではデータベースとスキーマを作成していきます。 まず、SQLiteOpenHelperを継承してDatabaseOpenHelperクラスを作成します。SQLiteOpenHelperのコントラクタを呼ぶとデータベースの存在チェックが行われ、存在しない場合はデータベース生成後にonCreate()が呼び出されます。存在する場合はスキーマのバージョンのチェックが行われ、バージョンが変更されているとonUpgrade()が呼び出されます。 package sample.bizcard.db; import android.content.ContentValues; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.
Androidのデータベース「SQLite」の使い方は? 今回は、AndroidアプリからSQLiteを使用する際の、コードレベルでの使い方をみていきましょう。 長くなりそうなので、3記事に分けたいと思います。 今回は、SQLiteOpenHelperというクラスの使い方について触れたいと思います。 今回は、データベースのオープン処理の説明になります。 行の追加・更新・削除編は下記のページをご覧下さい。 Androidアプリのデータ保存方法の一つ「SQLite」の使い方 行の追加・更新・削除編 レコードの検索編は下記のページをご覧下さい。 Androidアプリのデータ保存方法の一つ「SQLite」の使い方 レコード検索編 まず、Androidでは、データの保存形式として、今回のSQLiteの他にも、「プリファレンス」「ローカルファイル」があります。以前にこれらの記事を書いています。 And
Android のサンプルやチュートリアルでは、アプリ実行時に SQLite データベースを作成してデータの追加や更新、削除などを行っているのがほとんどです。 しかし、あらかじめ作成しておいた SQLite database をアプリに仕込みたい場合があります。 そこで、ここでは sqlite3 など使って作成した自分の SQLite database ファイルを、アプリの asset に入れ、初回起動時にアプリのシステムデータベース領域にコピーする方法を紹介します。 1. SQLite database ファイルを用意する 私は Ubuntu 派なので普通に sqlite3 を使います。(Windows とか Mac はよくわかりません... これとか? SQLite Database Browser) 主テーブルの他に android_metadata という名前のテーブルを作成します
県庁所在地は各都道府県に必ず1つだけ存在するので、プライマリキーを設定しています。郷土料理はいくつ存在するか分からないため、プライマリキーはありません。この2つのテーブルは都道府県でリレーションしています。 なお、郷土料理が登録されていない県がありますが、あしからずご了承ください。 Androidのデータベースを作成するには? スキーマが決まったら、データベースを作成します。 データベースの作成方法はいろいろありますが、今回は「SQLiteOpenHelper」というクラスを利用します。このクラスは、abstract(抽象)クラスなので、以下のコールバックを実装する必要があります。 public void onCreate(SQLiteDatabase db) データベースを作成したタイミングで呼び出される。通常はここでテーブルを作成する。今回はデータもこのタイミングで追加している pub
SQLiteの基本 SQLiteを使った簡単なアプリ まず、SQLiteを使用した簡単なアプリを作り、どのような作りになるのか確認する。 項目 内容 Project name DbTest Build Target Android 1.6 Application name DbTest Package name sample.dt Create Activity DbTest Min SDK Version 4 まず、レイアウトのmain.xmlを以下のようにする。 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width=
この記事ではSQLiteのデータベースファイルはファイルに保存されません。アプリケーションを終了するとデータベースに蓄積したレコードはなくなります。データベースファイルをファイルに保存するコードについてはこちらの記事を参照してください。 実装例: 2013年3月版 プロジェクトの設定 Androidアプリケーションプロジェクトを新規作成します。 Project name: SimpleSqlite Build Target: Android 2.3 Application name: SimpleSqlite Package name: com.iPentec.SimpleSqlite Activity: MainActivity UI プロジェクトの作成後 /res/layout/activity_main.xml を開きデザイナ画面でUIを作成します。 今回はTextViewを一つ追加
ツールを活用して面倒な作業をこなし、Azure を使う開発者のイノベーションを効率化しましょう。プリペイドで始めることも、最大 30 日間無料で Azure を試すこともできます。開始の際に使用期間の確約はなく、いつでもキャンセルできます。
A5:SQL Mk-2は複雑化するデータベース開発を支援するために開発されたフリーのSQL開発ツールです。 高機能かつ軽量で、使い方が分かりやすいことを目標に開発されています。 SQLを実行したり、テーブルを編集するほかに、SQLの実行計画を取得したり、ER図を作成したりすることが出来ます。 特徴・機能 OCI接続・直接接続・ADOまたはODBCを介したDBへの接続 Oracle DatabaseはOCI経由の接続・直接接続が出来ます。 PostgreSQLとMySQLは直接接続が出来ます。 Microsoft SQL Serverは、OLE DBプロバイダを直接呼び出した接続ができます。 IBM DB2は、ODBCドライバを直接呼び出した接続ができます。 その他のデータベースは、ADOまたはODBCを利用して接続します。 Oracle, PostgreSQL, MySQLは、A5:SQL
After seeing some of the other coding approaches to personal short URL services, I decided to write my own PHP URL shortener script and share it with the world. Thanks to the help of others, such as Nicolas, Derek Gathright, and Adrien Gibrat I’ve been able to take this script much farther. Benefits Can shorten over 42 billion unique URLs in 6 or less characters (it can do more than 12,000,000 in
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く