タグ

DBに関するhaneimoのブックマーク (40)

  • ActiveRecordのjoinsとpreloadとincludesとeager_loadの違い - Qiita

    ActiveRecordでN+1クエリを潰すためにeager loadingを行う場合、preloadやincludesやeager_loadが役に立つ。 Preload, Eagerload, Includes and Joinsという記事にそれらの違いがよくまとめられているんだけど、includesが挙動を変える条件があまり正確に書かれていなくて自信が持てなかったし、そもそも記事が古いのでRails4.1.5のソースを読んで調べた。 せっかく調べたので、全体を通して日語でまとめてみようと思う。 User.joins(:posts).where(posts: { id: 1 }) # SELECT `users`.* FROM `users` INNER JOIN `posts` ON `posts`.`user_id` = `users`.`id` WHERE `posts`.`id

    ActiveRecordのjoinsとpreloadとincludesとeager_loadの違い - Qiita
  • MySQLに画像のバイナリデータを保存する方法メモ | hijiriworld Web

    画像アップロードを作る場合、通常のデータ登録の他に、ファイルアップロード機能を実装しなければならない。これがけっこうめんどい。 でも、画像をバイナリデータとして、直接MySQLに保存することもできる。 テーブル設計 -- -- データベース: `images` -- -- -------------------------------------------------------- -- -- テーブルの構造 `posts` -- CREATE TABLE IF NOT EXISTS `posts` ( `ID` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `imgdat` blob NOT NULL, `mime` VARCHAR(64) NOT NULL, PRIMARY KEY (`ID`) ) ENGINE=MyISAM DEFAUL

    haneimo
    haneimo 2014/09/01
  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

    haneimo
    haneimo 2014/08/23
  • SQLの整形 〜サクラエディタ マクロ版〜 - izoc道場

    概要 テストやバグの解析等でSQLを参照する際、ログやモニターに出力されるSQLが一行にまとまって見づらい。 そんな時に自分が使っているのはサクラエディタのマクロ。 自分が何処からでも使えるよう&同じ事を思っている人のために、今使っているマクロを公開。 使い方 任意のテキストエディタに下記ソースをコピペし、ファイルに保存(*.mac) サクラエディタを起動 メニュー>キーマクロの読み込みで保存したファイルを選択 メニュー>キーマクロの実行 カンマ改行ありver //キーボードマクロのファイル //SQLを見やすいように整形します(カンマの改行あり) S_ReplaceAll('\\r\\n', '', 28); // S_ReplaceAll('SELECT\\s', '\\nSELECT\\n \\t', 28); // S_ReplaceAll('\\sFROM\\s', '\\nFR

    SQLの整形 〜サクラエディタ マクロ版〜 - izoc道場
  • 第1回 データ・クレンジングと名寄せ技術:ITpro

    皆さんは,企業のシステムが提供している情報(データ)をどれくらい信用していますか。 例えば,社内の製品担当者に問い合わせをしたい場合,社内システムを使って,製品から担当者を割り出し,担当者名から電話番号を検索,その電話番号に電話をかけてみるでしょう。この場合,社内システムから得られる情報はおおむね信用できるでしょう。製品担当者の変更が更新されていないといったこともあるかもしれませんが,そのような場合は社内であれば引き継ぎ担当者を教えてもらうことで状況を理解できるので,まずは情報を信じて電話をかけてみるのではないでしょうか。 では,社外のお客様へ連絡するときはどうでしょうか。この場合は少し慎重になるでしょう。社内情報を検索するとき以上に各種システムから信用できる必要な情報を慎重に収集し,行動に移すはずです。私の友人のA君もそうでした。 使えないデータたち A君はある電気製品の販売を担当する営

    第1回 データ・クレンジングと名寄せ技術:ITpro
    haneimo
    haneimo 2013/10/17
  • PostgreSQL CSVファイルからのインポート - 130単位

    EC-CUBEのカスタマイズをしていると、テストデータを作成して動きを確認したいことがよくあります。しかしpgAdminでは、プライマリキーのないテーブルには直接データを作成・編集することができません。参考。 それでは、EXCELにて作成したcsvファイルをどうにかインポートできないものか。調べてみたところ、メニューなどからのインポートはできないみたいですが、「COPY」というSQLコマンドを使えば可能なようです。 COPY : PostgreSQL語ドキュメント http://www.postgresql.jp/document/current/html/sql-copy.html 「tablename」という名前のテーブルに「testdata.csv」からインポートする場合のSQL例。 COPY tablename FROM 'C:/test/testdata.csv' WITH

    PostgreSQL CSVファイルからのインポート - 130単位
    haneimo
    haneimo 2013/06/22
  • SQL をで行を横展開 - miau's blog?

    たとえば、こんなテーブルがあったとして。 SELECT * FROM CustomerFamily cust_id family_id name ========================== 1 1 波平 1 2 フネ 1 3 カツオ 2 1 マスオ 2 2 サザエ 2 3 タラオ それをこんな感じで抽出したい場合。 cust_id family1 family2 family3 ================================== 1 波平 フネ カツオ 2 マスオ サザエ タラオ まぁ、正攻法では CURSOR 使ってぐるぐる回すことになるんでしょうけど、DataGrid とか使いたい場合はそうはいかないわけで。 以前似たようなことを聞かれたときは、「できない」って答えたか、あるいは副照会使って SELECT cust_id, (SELECT name FROM

    haneimo
    haneimo 2012/11/22
  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

    haneimo
    haneimo 2012/08/13
  • システムの寿命はコードで決まる!(1/3) ― @IT

    コードはシステムの寿命に大きな影響を与えます。今回は、コードとデータベースエンジニアの関係を通してこのことを解説します。ここでいうコードとは、顧客ID、受注伝票番号など、業務上利用されるデータを識別・分類するため、各データの来の名前とは別に割り当てられる記号のことです。 データベースエンジニアにはデータ設計とデータベース設計の2つの役割があります。そして、データベースエンジニアにはデータ設計の一環として安定したコード体系を設計し、データベースをコード体系に依存しないように設計することが求められます。 システムを長く使い続けるためには、 コード体系を長期にわたり変更せず利用できるようにすること コード体系とデータベース設計との結合度を小さくすること が重要です。なぜなら、コードのけたが足りなくなったり、コードの分類が業務にそぐわなくなったりして、コード体系の見直しを行うことになると、業務・

    システムの寿命はコードで決まる!(1/3) ― @IT
    haneimo
    haneimo 2012/07/20
  • dbUnit Aggregator – DbUnit

    Welcome to the dbUnit site containing information on the framework and its corresponding Maven plugin. In the Modules menu, choose which module to view.

    haneimo
    haneimo 2012/07/15
  • http://www.2ch-search.net/blog/3

    haneimo
    haneimo 2012/06/27
  • 正しいベンチマークをするための10のポイント

    世の中ではたくさんの人が独自にベンチマークを行ない、独自に情報発信がされています。そのベンチマークの中には、非常に参考になるものもあれば、現実性に大きく欠けるものもあります。競合他社が、ライバル社の製品にとって不利な条件でベンチマークを行い、それを発信することも日常的に行われています。ベンチマークの結果を鵜呑みにすることは危険で、結果の意味を判断するスキルを持つことが重要です。これはプロジェクトにおいて負荷テストを行う場合にも重要です。負荷テストの条件設定が正しいかどうかを判断できるようになるためです。 ここでは、私がDBサーバのベンチマーク/負荷テストを行ったり結果を読んだりする上で、心がけているポイントを10個ほど紹介したいと思います。 ■ハードウェアに関する4つのポイント 1. ハードウェアのスペックと設定を注視する ハードウェア構成によってベンチマーク結果は劇的に変わるので、言わず

    haneimo
    haneimo 2012/06/27
  • MongoDBのちょっと詳しいチュートリアル<a href="http://b.hatena.ne.jp/entry/http://d.hatena.ne.jp/doryokujin/20101010/1286668402" class="bookmark-count"><img src="http://b.hatena.ne.jp/entry/image/http://d.hatena.ne.jp/doryokujin/20101010/1286668402" title="はてなブックマーク - Mo

    @doryokujinです。エントリーから数回にわけてMongoDBの紹介をつらつら書いていきたいと思います。日々、MongoDBの魅力にどっぷりな僕でして、それを少しでも多くの方に共有できたらというモチベーションで書いています。今回はチュートリアルとして主要な機能を少し詳しめに紹介していきます。アジェンダは以下の通りです: はじめに ちょっと詳しいチュートリアル オープンソース NoSQL・ドキュメント指向データベース ドライバとして多くの言語サポート 完全なインデックスサポート リッチなクエリー MySQLに類似した機能群 レプリケーション機能 オートシャーディング 巨大ファイルを扱うGridFS 今後の予定 家ドキュメントの翻訳 より深い機能説明 勉強会での発表 Production Deploymentsとして弊社の名前を掲載する はじめに 僕は現在MongoDBをソーシャルア

    MongoDBのちょっと詳しいチュートリアル<a href="http://b.hatena.ne.jp/entry/http://d.hatena.ne.jp/doryokujin/20101010/1286668402" class="bookmark-count"><img src="http://b.hatena.ne.jp/entry/image/http://d.hatena.ne.jp/doryokujin/20101010/1286668402" title="はてなブックマーク - Mo
    haneimo
    haneimo 2012/02/22
  • 【初級】新人SEのためのSQLの基礎 第3回(後半) 集約関数,GROUP BY句,HAVING句の注意点

    図6●HAVING句の利用上の注意点<BR>HAVING句はWHERE句で置き換えることができる場合がある。図は,同じ結果を検索するHAVING句を利用したSELECT文((1))と,HAVING句を使わないでWHERE句を利用したSELECT文((2))の例である。同じ結果を検索するが,実行性能は(2)WHERE句を利用したSELECT文の方が高い。WHERE句を使った場合はインデックス検索であるが,HAVING句を使った場合は全件検索になる RDBMSには,数値カラムの合計値計算(SUM)や平均値計算(AVG)を行う集約関数が用意されている。例えば図3[拡大表示]の販売テーブルにおいて「値引き」の合計値を求める場合, SELECT SUM(NEBIKI) FROM HANBAI_TBL ; とすると,NEBIKI(値引き)の合計金額を求めることができる(図3(1))。合計値や平均値のほ

    【初級】新人SEのためのSQLの基礎 第3回(後半) 集約関数,GROUP BY句,HAVING句の注意点
    haneimo
    haneimo 2011/10/16
  • 取得したデータをカラムの値でソート(ORDER BY句)

    SELECT 文を使ってデータを取得すると取得元のテーブルに格納されている順番に従って値を取得しますが、 ORDER BY 句を使用することで指定したカラムを基準に並べ替えを行ってからデータを取得することもできます。ここでは SQLite で ORDER BY 句を使ってデータをソートした上で取得する方法について解説します。

    取得したデータをカラムの値でソート(ORDER BY句)
    haneimo
    haneimo 2011/10/11
  • もくじ — SQLAlchemy 0.6.5 ドキュメント (和訳)

    © Copyright 2007, 2008, 2009, 2010, the SQLAlchemy authors and contributors. Created using Sphinx 1.0.5.

  • DjangoのORMのすごいところ - 偏った言語信者の垂れ流し

    私がDjangoORMを気に入っているのは、Pythonコードでスマートにクエリセットを作れるからです。 例を書いてみる。 blog/models.py from django.db import models import datetime class Entry(models.Model): title = models.CharField(max_length=100) content = models.TextField() create_date = models.DateTimeField(default=datetime.datetime.now) def __unicode__(self): return self.title こんなモデルを作った。 Qオブジェクトを使ってクエリセットを作ってみる In [1]: from blog.models import Entry

    DjangoのORMのすごいところ - 偏った言語信者の垂れ流し
  • H2、Derby、SQLiteの仕様の調査メモ(ロック周り) - ソフト開発お仕事メモ🐕

    はじめに 軽量DBのロック周りを話題にする人はあまりいません。 並列度が高い状態で使うことは稀であり、ロック周りはわりとどうでも良いことだと私も思います。でも、気になって気になって仕方ないので軽く調査しました。 調査対象 私がたまたま名前を知っていたものを調査することに決めました。 H2 Database Engine 1.0.79 Apache Derby 10.4.2.0 SQLite 3.6.4 ロックの粒度 狙ったわけではないのですが、見事にばらばら。 H2 デフォルトはテーブル全体です。行レベルロックは未サポート。ベータ版ならば、行レベルロックもサポートしてる模様。 (Features -> Comparison to Other Database Enginesより) Derby デフォルトは行ロックです。ただし、特定のトランザクションについては、Derbyがパフォーマンスの上

    H2、Derby、SQLiteの仕様の調査メモ(ロック周り) - ソフト開発お仕事メモ🐕
  • オープンソースデータベース標準教科書|DBスペシャリストを認定する資格 OSS-DB技術者認定試験

    ついに登場!データベースの操作、作成、管理についての基礎を学習するために最適な教科書 LPI-Japanは、PostgreSQLを体系的に学習するための教材「オープンソースデータベース標準教科書 -PostgreSQL-」を開発し、サイトにて公開し、無償提供しています。 教材は、データベースの経験の無い技術者を対象に、実習を通してSQL言語を使ったデータベースの操作、作成、管理についての基礎を学習するための教材が必要とのニーズに応えて開発されました。 データベースを初めて触る方にも分かりやすく、実際に動かしてみて理解できる内容となっています。 また、「OSS-DB技術者認定試験Silver」の学習教材としても役立ちます。 但し、教材は【受験対策教材ではありません】。受験対策は、LPI-Japan OSS-DB認定教材をご利用ください。 なお、近年のスマートフォンの普及などによる学習環

    オープンソースデータベース標準教科書|DBスペシャリストを認定する資格 OSS-DB技術者認定試験
    haneimo
    haneimo 2011/10/05
  • LPI-JapanがSQLデータベース操作を基礎から学べる電子教科書を無償配布、EPUB版も用意

    エルピーアイジャパン(以下、LPI-Japan)は2011年10月5日、オープンソースソフトウエア(OSS)として提供されているデータベースソフト「PostgreSQL」に対応したデータベース学習用の電子教科書「オープンソースデータベース標準教科書 -PostgreSQL-」(写真)の配布を開始した。 LPI-JapanのWebサイトあるいはオープンソースデータベース技術者認定試験のWebサイトから無償でダウンロードできる。ダウンロードに当たっては、氏名やメールアドレス、所属組織名などの登録が必要となる。パソコンなどで汎用的に閲覧できるPDF版のほか、電子書籍フォーマットの標準規格であるEPUB版も用意されている。 同教科書は、SQLデータベースに初めて触る初心者ユーザーを対象とした教材となっており、実習形式でSQLデータベースに関する基礎知識やPostgreSQLの基操作などを体系的に

    LPI-JapanがSQLデータベース操作を基礎から学べる電子教科書を無償配布、EPUB版も用意
    haneimo
    haneimo 2011/10/05