タグ

PostgreSQLに関するtyamamotoのブックマーク (39)

  • MySQL のサブクエリって、ほんとに遅いの? | DevelopersIO

    こんにちは、みかみです。 今日のクラスメソッドのAWSおみくじ、RDS(t1.micro)でしたー!(昨日は Aurora!@@v はじめに 前職@アプリ開発時、MySQL のクエリチューニングをさせていただく機会がありました。 ユーザー入力のキーワードで全文検索 → 見つかったレコードを返すのですが、所要時間、約3分。。 Apache タイムアウトして画面真っ白。。。(泣きそうでした><。 EXPLAINで実行計画を調べた際に、select_typeにはクエリの種類が表示されるのだが、代表的なサブクエリには次の3つのパターンがある。 SUBQUERY DEPENDENT SUBQUERY DERIVED 結論から言おう。遅いのは2番目、DEPENDENT SUBQUERYである。DEPENDENT SUBQUERYとはいわゆる相関サブクエリに相当するもので、サブクエリにおいて外部クエリの

    MySQL のサブクエリって、ほんとに遅いの? | DevelopersIO
  • NTTデータとPostgreSQLが挑んだ総力戦。PostgreSQLを極限まで使い切ったその先に見たものとは?(前編) NTTデータオープンソースDAY2015 - Publickey

    NTTデータとPostgreSQLが挑んだ総力戦。PostgreSQLを極限まで使い切ったその先に見たものとは?(前編) NTTデータオープンソースDAY2015 現在のシステム構築では、オープンソースのソフトウェアを使うことは当たり前になってきています。PostgreSQLはそうした中で主にエンタープライズ向けのデータベースとして着実に事例を増やしてきています。 その中で、PostgreSQLを大規模なミッションクリティカルなシステムの中で使うには、どのようなノウハウが求められるのか。オープンソースの利用に積極的なNTTデータがその事例を、1月26日に開催されたイベント「NTTデータオープンソースDAY 2015」のセッション「NTTデータとPostgreSQLが挑んだ総力戦。PostgreSQLを極限まで使い切ったその先に見たものとは?」で紹介しています。講演内容をダイジェストにしまし

    NTTデータとPostgreSQLが挑んだ総力戦。PostgreSQLを極限まで使い切ったその先に見たものとは?(前編) NTTデータオープンソースDAY2015 - Publickey
  • テーブル名や列名の別名の指定 - HHeLiBeXの日記 正道編

    はじめに - SQL標準規格では SQL標準規格によると、SQL文ではテーブル名や列名の別名を次のように指定することができることになっている。(いずれも、キーワード AS は省略可能) SELECT t.col2 [AS] c2 FROM tbl [AS] t WHERE t.col1 = 1 UPDATE tbl [AS] t SET col2 = 2 WHERE t.col1 = 1 DELETE FROM tbl [AS] t WHERE t.col1 = 1 (ひとつ気をつけなければいけないのは、UPDATE文のSET節で指定する列名にはプレフィックスを一切書けないこと) この別名をつける書き方について、DBMSやそのバージョンによってサポート状況が違うようなので検証してみる。 検証 前提とするテーブルはどうでもいいのだが、一応書いておく。 CREATE TABLE tbl(id

    テーブル名や列名の別名の指定 - HHeLiBeXの日記 正道編
  • DB 設計時のサイズ見積り[最新版] - Qiita

    こんにちは、すっかり秋ですね!@yone098 です。 みなさんDBの設計してますか? DB設計時のサイズ見積り 以前はてなダイアリーで書いた記事は5年前のものであり、リンクが切れているものがあるので最新版として MySQL, PostgreSQL, Oracle, SQLServer におけるDB設計時のサイズ見積りをまとめ直しました。 URL内のバージョン表記を変えると以前のバージョンの情報になります。 MySQLは、あまり情報に変化は無かったので Excel でマクロなどを作成して自社で自動算出出来るようにするのが良いと思います。 データタイプごとに必要な要求ストレージが決まっているのでレコードサイズが決まり、あとは要件次第で何レコードになるかを予測します。 データタイプごとに必要な記憶容量 テーブルの最大サイズ関連 http://dev.mysql.com/doc/refman/5

    DB 設計時のサイズ見積り[最新版] - Qiita
  • SQLの観点から「Oracle Database」「PostgreSQL」 「MySQL」の特徴を整理しよう!

    EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けに、EnterpriseZine Day、Security Online Day、DataTechという、3つのイベントを開催しております。それぞれ編集部独自の切り口で、業界トレンドや最新事例を網羅。最新の動向を知ることができる場として、好評を得ています。

    SQLの観点から「Oracle Database」「PostgreSQL」 「MySQL」の特徴を整理しよう!
  • そのデッドロック、知ってました?

    こんにちわ。開発エンジニアのsugimotoです。 今回はPostgresqlのデッドロックについてちょっと書いてみます。 確認した環境はPostgresql9.1.4です。 ロックとかデッドロックについての説明は省きます。 デッドロックの調査 カタログテーブルのpg_locksを確認すると現在のロック状態がわかります。 pg_classと結合すればテーブル名もわかります。 各ロックの競合関係図はhttp://www.ecoop.net/memo/archives/2008-05-30-1.htmlがわかりやすくてお勧めです。 デッドロックの例 自分が経験したことのあるデッドロックの例を3つほどあげます。 例1.明示的なロックによるデッドロック 一番普通のパターンです。 にはこれが載っていることが多いです。 自分もつい2年くらい前まではデッドロックはこのパターンしかないと思ってました。

    そのデッドロック、知ってました?
  • PostgreSQLに興味がある人向けにまとめてみた。|PostgreSQL|お仕事メモ|Pictnotes

    PostgreSQL9.2がでたのと、一部で?またPostgreSQLを使いたいと思ってる人が多くなったとかあるみたいなので 4〜5年触ってなかったか、全然知らない人向けとおさらいとしてまとめてみた。 ざっくり書いてるので、詳しい人からみるとおかしい点もあるかと思いますが、気になった点はより詳しい記事が あると思うので、調べてみてください。 明らかな間違え等々は、修正加筆したいので、コメントか twitterの @itm_kiyoまで、御願いします。 Q. なんて読むの?書くの? A. PostgreSQL(ぽすとぐれすきゅーえる)、PとSQLは大文字。ちなみにMySQL(y以外は大文字)なんで、小文字と大文字の区別をきちんとするとその界隈の人がよろこびます。 でも、「postgres」 とか 、「Postgres」や「ポスグレ」とか書かれてることも多いです。 Q. どのバージョンを使うの

  • Rails で、Controller に定義されている action を一度に取得する方法はありますか? - QA@IT

    平素よりQA@ITをご利用いただき、誠にありがとうございます。 QA@ITは「質問や回答を『共有』し『編集』していくことでベストなQAを蓄積できる、ITエンジニアのための問題解決コミュニティー」として約7年間運営をしてきました。これまでサービスを続けることができたのは、QA@ITのコンセプトに共感をいただき、適切な質問や回答をお寄せいただいた皆さまのご支援があったからこそと考えております。重ねて御礼申し上げます。 しかしながら、エンジニアの情報入手方法の多様化やQAサービス市場の状況、@ITの今後のメディア運営方針などを検討した結果、2020年2月28日(金)15:00をもちましてQA@ITのサービスを終了することにしました。 これまでご利用をいただきました皆さまには残念なお知らせとなり、誠に心苦しく思っております。何とぞ、ご理解をいただけますと幸いです。 QA@ITの7年間で皆さまの知識

    Rails で、Controller に定義されている action を一度に取得する方法はありますか? - QA@IT
  • 「PostgreSQL 9.2」リリース、大幅な性能アップを実現 - @IT

    2012/09/11 オープンソースデータベースPostgreSQLの開発グループは9月10日、最新バージョン「PostgreSQL 9.2」のリリースを発表した。パフォーマンス、スケーラビリティ、柔軟性の大幅な向上を実現したとしている。 発表によると、PostgreSQL 9.2ではJSONをネイティブサポートし、インデックスやレプリケーションの機能を強化。64コアまでのリニアスケーラビリティ、Index-onlyスキャン、CPU消費電力削減などを実現した。 スケーラビリティの向上によって大型サーバのハードウェアリソースを効率的に活用できるようになり、ロック管理やIndex-onlyアクセスなどの性能改善では、データベースエンジンでさらに大量の処理を行うことが可能になった。 具体的には、最大で毎秒35万件のリードクエリ(従来の4倍強)、データウェアハウスクエリのIndex-onlyスキャ

  • 削除フラグのはなし

    6. id name pass is_deleted 1 ryu xxx FALSE 2 ken xxx FALSE 3 honda xxx TRUE 8. id name pass is_deleted 1 ryu xxx FALSE 2 ken xxx FALSE 3 honda xxx TRUE 3 honda xxx FALSE

    削除フラグのはなし
  • DBの「トランザクション分離レベル」が必要な理由  (PostgreSQLで,ファントム・リードを防止すべきサンプル事例) - 主に言語とシステム開発に関して

    データベースには,「トランザクション分離レベル」というものがある。 以下では,それが なぜ必要なのか? デフォルトのレベルでは,どうして駄目なのか? PostgreSQLでは,どうやってレベルを変更・確認するのか? などを取り上げる。 トランザクション分離レベル トランザクション分離レベルとは: 複数のトランザクションが同時に実行された場合に、他のトランザクションからの影響がどのくらい「分離」するか,のレベル。 ANSI規格では,4つのレベルがある。 READ UNCOMMITTED (一番低い) READ COMMITTED REPEATABLE READ SERIALIZABLE(一番高い) 徹底比較!! PostgreSQL vs MySQL 第3回:トランザクションの比較 http://thinkit.co.jp/free/article/060... トランザクション処理に詳しく

    DBの「トランザクション分離レベル」が必要な理由  (PostgreSQLで,ファントム・リードを防止すべきサンプル事例) - 主に言語とシステム開発に関して
  • Webコピペ屋::携帯GPSによる現在地がどのエリアに該当するのか表示させる実装方法(PostgreSQL編)

    携帯GPSによる現在地がどのエリアに該当するのか表示させる実装方法(PostgreSQL編) 2008/07/29 16:51:18 Google Mapsに夢中になっている時、Web屋のネタ帳のデータベース上の位置情報を効率的に検索する方法(PostgreSQL編)という記事を見つけて、よく考えたらそんなに使う機会はないはずなのに、非常にアツくなったのを覚えている。 何ででしょうね? ネットって時間、場所を選ばないのに、ことWEBアプリを作っているものにとってこの地理がらみが自分で扱えると思うと何故にこんなにも興奮するのだろう・・・ ま、そんなことはどうでもいいが、このWeb屋のネタ帳さんの記事(以下、597記事)と関係して、「携帯GPSの位置情報による現在地が、予め定めているどのエリアに該当するのか調べる・表示する」というやり方を紹介します。 以下詳細。 やりたかったのはこう

  • Apacheの同時接続数とPostgresqlの同時接続数について

    へんじがない。ただのポンコツのようだ。 ポンコツが今日も持ち場でガンバリつつ、 楽しく生きていくための備忘録ブログ。ぬわーーっっ!!2005年7月から絶賛「更新」中! またまた、Postgresqlのパラメータチューニングネタというか、同時接続数ネタですが、LAPPの場合、Apacheの同時接続数とPostgresqlの同時接続数という話になると思う。 よくありがちなのが、パラメータをデフォルトで使っていておかしくなってしまうパターン。 よくあるのが、Apacheの同時接続数が150で、postgresqlの同時接続数が32というもの。 PostgresSQLの同時接続数 Apache+PHP+PostgresSQLでサーバーを運用しています。アクセス数が多くなるとApacheが停止してしまいす。そのためボトルネックの調査をしているのですが、Apacheの同時リクエスト数(MaxClien

    Apacheの同時接続数とPostgresqlの同時接続数について
  • PostgreSQLの分析関数の衝撃2 (Lag関数と累計と移動累計)

    はじめに 2009年7月に正式リリースされたPostgreSQL 8.4で、分析関数(window関数)がサポートされました。連載では、分析関数の衝撃シリーズをPostgreSQL用にアレンジした内容と、OracleDB2の分析関数をPostgreSQL 8.4で代用する方法を扱います。 稿では、『分析関数の衝撃2 (中編)』を、PostgreSQL8.4用にリニューアルした内容を扱います。 対象読者 PostgreSQLでwindow関数を使ってみたい方 分析関数の理解を深めたい方 『自己結合の使い方』と 『相関サブクエリで行と行を比較する』に記載されているSQLをwindow関数を使って記述していきますので、『自己結合の使い方』と『相関サブクエリで行と行を比較する』を読まれてからのほうが理解しやすいと思います。 必要な環境 稿で扱うSQLは、PostgreSQL 8.4 bet

    PostgreSQLの分析関数の衝撃2 (Lag関数と累計と移動累計)
  • Ywcafe.net

    Ywcafe.net This Page Is Under Construction - Coming Soon! Why am I seeing this 'Under Construction' page? Related Searches: Free Credit Report music videos Migraine Pain Relief Best Mortgage Rates Credit Card Application Trademark Free Notice Review our Privacy Policy Service Agreement Legal Notice Privacy Policy

  • Monoで他のDBも使ってみたよ!(PostgreSQL、MySQL編)

    1.はじめに 前回、マルチプラットフォーム(Linux,Mac,Windows)対応の.NET Framework互換環境「Mono」とSQLiteを使用した基的なDBアクセスについて解説を行いました。MonoではSQLite以外にも主要なDBMS用データプロバイダが使用でき、今回、前編としてMonoとPostgreSQLMySQLを使用したDBアクセス、後編としてMonoとSQL Server、Oracleを使用したDBアクセスについて解説を行います。 前回の内容については以下を参照して下さい。 MonoでSQLiteを使ってみたよ!(DBアクセス-コマンド編) MonoでSQLiteを使ってみたよ!(DBアクセス-データアダプタ編) 2.対象読者 Monoを試してみたい人 PostgreSQLMySQLSQL Server、Oracleも試してみたい人 ADO.NET初学者 3

    Monoで他のDBも使ってみたよ!(PostgreSQL、MySQL編)
  • 普段 MySQL ばっかり使っている人のための PostgreSQL ガイド (ラボブログ)

    スパイスラボ神部です。 以前から何かと MySQL を使うことが多かったのですが、今回ちょっと PostgreSQL で環境を構築する必要が出てきました。そこでいい機会なので、普段 MySQL を使っている人が PostgreSQL で環境を構築する際にどう設定をあわせた方がいいのか調べてみようと思います。 インストール Cent OS など利用している場合、そもそもセットアップされていない可能性があります。そこでまずは迷わずインストール。 yum install postgresql yum install postgresql-server yum install php-postgresql で、yum でインストールした後の設定。 -Postgresの設定の巻 - PukiWiki 次に、管理ツール(phpPgAdmin) のインストール さて、インストールした後次に困るのは管理

  • pgpoolを使ったPostgreSQLのレプリケーション

    こんばんは、牧野です。 前回、その前の前とPostgreSQLのチューニングについてでしたが今日もPostgreSQL関連で、PostgreSQLでのレプリケーションについてです。 MySQLの場合、別のソフトウェアを使わなくてもMySQLだけでレプリケーションを実現できますが、PostgreSQLの場合は別途専用のソフトが必要になります。 今回はそんなソフトの1つ、pgpool-II(以下pgpoolと書いています)を使ったレプリケーションを紹介します。 pgpoolを使うと、PostgreSQLで手軽にマルチマスタ方式のレプリケーションを実現できます。 他にも、コネクションプーリング、アクティブスタンバイ、slony-I等のレプリケーションソフトと組み合わせたマスタ・スレーブ方式のレプリケーション、時間がかかる検索処理を複数サーバで並列処理させる(パラレルモード)というようなことができ

    pgpoolを使ったPostgreSQLのレプリケーション
  • SQLエスケープにおける「\」の取り扱い

    補足 この記事は旧徳丸浩の日記からの転載です。元URL、アーカイブはてなブックマーク1、はてなブックマーク2。 備忘のため転載いたしますが、この記事は2008年6月2日に公開されたもので、当時の徳丸の考えを示すものを、基的に内容を変更せずにそのまま転載するものです。 補足終わり 昨日のエントリ(徳丸浩の日記 - そろそろSQLエスケープに関して一言いっとくか - SQLのエスケープ再考)は思いがけず多くの方に読んでいただいた。ありがとうございます。その中で高木浩光氏からブクマコメントを頂戴した。 \がescape用文字のDBで\のescapeが必須になる理由が明確に書かれてない。\'が与えられたとき'だけescapeすると…。自作escapeは危うい。「安全な…作り方」3版で追加の「3.失敗例」ではDBで用意されたescape機能しか推奨していない このうち、まず「\」のエスケープが必

  • オレオレSQLの作り方〜PostgreSQL編〜 - よねのはてな

    オレオレ言語全盛期の炎暑の候、いかがお過ごしでしょうか。 オレオレSQLの作り方〜PostgreSQL編〜という事でPostgreSQLに、自作のSQL関数を組み込むやり方を紹介します。 簡単に言えば select oreore(); select oreore(column1, column2) from table1; 自分で定義したC言語のoreore関数をDBに組み込んで使おうという事です。 固定値を返す関数 早速、固定で999を返す関数を作ってみます。 ※バージョンはpostgresql8.1です。インストール等は省略します。 #include "postgres.h" #include "fmgr.h" PG_FUNCTION_INFO_V1(oreore); Datum oreore(PG_FUNCTION_ARGS) { // 固定で999を返します PG_RETURN_I

    オレオレSQLの作り方〜PostgreSQL編〜 - よねのはてな