[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

タグ

SQLに関するasonasのブックマーク (13)

  • 「SQL アンチパターン」は色んな戦争の火種になりそう - yoshiori.github.io

    監訳の一人である @t_wada に献頂きました。 ありがとうございます!!! でだ、いきなりだけどコレ、タイトルで損してると思うんだよね…… だって、SQL のアンチパターンてタイトルだったら、 join した結果の方で where で絞るよりも on 句で先に絞れ 的なのが書いてあると思うじゃん!! 問い合わせ言語の事だと思うじゃん!!! 違った…… ほとんど書いてあるのは DB 設計についてだった…… まぁ、副題は「Avoiding the Pitfalls of Database Programming」のだし、まぁいいか。 んで、読んでみた感想とか もうね、何年か DB 絡んだ開発したことのある人なら(・∀・)ニヤニヤ出来ると思う。 「”マルチカラムアトリビュート”とか 10 年前に通ったわー」 とか 「あーはいはい”インデックスショットガン”乙」 みたいな。 Explain

    asonas
    asonas 2013/02/11
  • datetime型のカラムから日付データを引っ張ってくる際の高速化 - 適当な日々

    フリーランスでwebの仕事をしながらwebサービスとかを作ったり作らなかったり、成長と挫折の記録・・・かもしれないちょっとMySQLのチューニングをしたらすごく早くなったので、メモメモ。 datetime型のカラムから日付のみをwhere訳にデータを引っ張ってくることはよくあります。 で、レコードが数万行になってくるとけっこう遅くなったりする。 そしてカラムにインデックスを張っても全然速度があがらなかったりします。 これはクエリーがインデックスを使用していないからなんですね。 苦しまぎれにdate型のカラムを作って日付だけを入れるという手法もありますが、ちょっとスマートじゃないです。 datetime型を維持したままで高速化できます。 例えばこういうクエリー [sql ruler="true" lang_name="true"] select * from item wher

    asonas
    asonas 2013/01/09
  • SQLで木と階層構造のデータを扱う――入れ子集合モデル

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

  • ActiveRecordが発行するSQLをフックして色々やるためのライブラリArproxyを公開しました - 昼メシ物語

    https://github.com/cookpad/arproxy http://rubygems.org/gems/arproxy これは何? Arproxyを使うと、ActiveRecordが発行したSQLDB Adapterによって実行される直前をフックすることができます。これによって、カスタマイズしたクエリログを出力したり、どこからクエリが発行されたのかをトレースしたりすることができるようになります。 Arproxyでは、DB Adapterのフック処理を以下のように定義します。これはクエリが実行されるたびにバックトレースを出力する例です。*1 class QueryTracer < Arproxy::Base def execute(sql, name=nil) Rails.logger.debug sql Rails.logger.debug caller(1).join(

    ActiveRecordが発行するSQLをフックして色々やるためのライブラリArproxyを公開しました - 昼メシ物語
  • NoSQLデータモデリング技法

    NoSQLデータモデリング技法.markdown #NoSQLデータモデリング技法 原文:NoSQL Data Modeling Techniques « Highly Scalable Blog I translated this article for study. contact matope[dot]ono[gmail] if any problem. NoSQLデータベースはスケーラビリティ、パフォーマンス、一貫性といった様々な非機能要件から比較される。NoSQLのこの側面は実践と理論の両面からよく研究されている。ある種の非機能特性はNoSQLを利用する主な動機であり、NoSQLシステムによく適用されるCAP定理がそうであるように分散システムの基的原則だからだ。一方で、NoSQLデータモデリングはあまり研究されておらず、リレーショナルデータベースに見られるようなシステマティック

    NoSQLデータモデリング技法
  • RailsでMySQLのENUM型を使う方法 - LukeSilvia’s diary

    DBのカラムで、ステータスの様なカラムを扱いたい場合、ENUM型を使いたいことが多いです。 例えばこんな感じ CREATE TABLE blog_comments( id INTEGER NOT NULL AUTO_INCREMENT, blog_id INTEGER NOT NULL, commenter VARCHAR(40) NOT NULL, content TEXT NOT NULL, status ENUM('approved','nonapproved') NOT NULL, FOREIGN KEY (blog_id) REFERENCES blogs(id), PRIMARY KEY (id) ); Railsでやる方法 RailsでENUM型を使おうと思ったら以下のようにMigrationファイルを定義すると思います。 create_comments class Crea

    RailsでMySQLのENUM型を使う方法 - LukeSilvia’s diary
  • SQLとJSONをNode.js上で組み合わせた新言語「ql.io」をeBayが公開

    eBayが、JavaScriptアプリケーションからSQL文のような形式でデータベースへの問い合わせを記述できるDSL(ドメイン固有言語)のql.ioを発表。オープンソースとして公開しました。 現在、多くのWebアプリケーションが、バックエンドとのデータのやりとりにHTTPをベースにしたAPIを用いています。しかし、WebベースのAPIによってデータを取り出すのは、プログラマにとって実は手間のかかることです。 例えば、キーワードを入力すると関連する商品の名前、詳細、購入者の評価をユーザーに表示する、というWebアプリケーションでは、まずキーワードでデータベースを検索して商品IDを取得し、今度はその商品IDをキーにして名前や概要、評価の情報を取得する、といったように、APIを繰り返し呼び出す必要があります。 ql.ioはこうした内容をSQLのように分かりやすい記述で実現するだけでなく、複数の

    SQLとJSONをNode.js上で組み合わせた新言語「ql.io」をeBayが公開
  • はてなブログ | 無料ブログを作成しよう

    ファンデを探して三千里 in 2024夏 ベストファンデ探しの旅 RMK リクイドファンデーション フローレスカバレッジ(★★☆) RMK クリームファンデーションアクアティックグロウ(★★★) 資生堂 エッセンス スキングロウ ファンデーション(★★☆) IPSA リキッドファウンデーション(★★★) コスメデコルテ ゼン…

    はてなブログ | 無料ブログを作成しよう
    asonas
    asonas 2011/10/18
  • さいきんの Rails サービスを高速化をしてみた - 2nd life (移転しました)

    先日のももクロハッカソンで出会った wantedly を作ってる仲さんが と言ってたので、面白そうなので wantedly を速くしてみました。 wantedly ちなみにデータが数百万オーダーもなさそうなのに、どのページもログインすると2-5秒ぐらいかかっていたので、確実に速くできそうだなぁという感覚はやる前からありました。 アプリケーションサイドのチューニング 初心者*1にありがちな問題として SQL に適切にインデックス張ってない キャッシュすべき場所をキャッシュしていない 無駄なデータを引きすぎてる ことがよくあります。ので順に実装を見ていきました。 SQLに適切なインデックスを張ってない 張ってありました!びっくり!\(^o^)/ キャッシュすべき場所をキャッシュしていない Facebook API を利用したアプリケーションなんですが、ユーザのデータの取得を毎回馬鹿正直に HT

    さいきんの Rails サービスを高速化をしてみた - 2nd life (移転しました)
  • oinume journal

    最近ドコモ回線があまりにも詰まったり繋がらなかったりすることが多くてどうにも我慢できなくなったことと、たまたまmineoがキャンペーンをやっていてコストダウンできそうなので勢いでmineoに乗り換えた。後悔は全くしていない。 数ヶ月前まではドコモ回線がつながりにくいこと以外はOCNは特に不満もなく、Musicカウントフリーオプションの存在もあり3年ほど使っていた。ただ、最近は新規契約を停止していてirumoという改悪されたMVNOに軸足を移す流れがあるのと、その影響でOCNモバイルONE自体がもう改善されないリビングデッド状態になっていたので、緩く乗り換え先を探していた。 mineoにしようと思ったのは 1.5Mbpsなら使い放題のオプションがある ドコモ以外の回線も選べる という点で、実際乗り換えてみてよかったと思った。それ以外にも通話系のオプションが充実してたり、ギガを永遠に貯められる

    oinume journal
  • 真面目にエロサイトを作ってみた【プログラマ編】 - BLOG|ASTRODEO

    東京都台東区で黙々とウェブでサービスを開発している株式会社アストロデオのホームページです。

  • SQLのバインド機構は「エスケープ処理された値」をはめ込むのか - ockeghem's blog

    以前このブログでも取り上げたことのある神戸デジタル・ラボの近藤伸明氏がThink IT上で「SQLインジェクション大全」という連載を執筆しておられる。その第三回「SQLインジェクションの対策」を読んで以下の部分が引っかかった。 バインド機構とは、あらかじめSQL文のひな型を用意し、後から変動個所(プレースホルダ)に実際の値(バインド値)を割り当ててSQL文を生成するデータベースの機能だ。バインド値はエスケープ処理した後にプレースホルダにはめ込むので、悪意あるSQL文が挿入されても、その実行を阻止することができる(図1-2)。 http://thinkit.jp/article/847/1/ たしかにエスケープ処理を使ってバインド機構を実装する場合もある。JavaMySQLの組み合わせでUnicodeのU+00A5を用いたSQLインジェクションの可能性 | 徳丸浩の日記から派生して、MyS

    SQLのバインド機構は「エスケープ処理された値」をはめ込むのか - ockeghem's blog
  • mysqlで日本語全文検索の効果 (Nega Diary)

    DBにて、いろいろ試行錯誤しながら、日語による全文検索を実装することができた。 はたして当に効果があったのだろうか・・・と調べてみる。 全レコード数:32740 フィールド(フィールドタイプ:TEXT)には、日語による文章を入れてあり、 全体のうち、4つのレコードのに世界最大のカルデラを持った阿蘇5岳の一つ、山頂のギザギザが特徴的な根子岳です。(省略)という文章が入っている。で、全レコードから「ギザギザ」という文字で検索するとする。この4レコードを探すとする。 LIKEでやる場合、 SELECT * FROM `main` WHERE COMMENT LIKE "%ギザギザ%" レコード表示 0 - 3 (4 合計, Query took 3.1908 sec) と、3秒ちょっとかかった。(実はサーバ自体の性能もあまりよくないんだけれど) EXPLAINすると、ro

  • 1