タグ

SQLに関するquanonのブックマーク (12)

  • SQLスタイルガイド · SQL style guide by Simon Holywell

    概要 全般 推奨 非推奨 命名規則 通則 表 列 別名、相関名 ストアド・プロシージャ 統一的接尾辞 問合せ文 予約語 空白類 インデント 望ましい形式 Create文 データ型の選択 デフォルト値の指定 制約とキー 非推奨設計 付録 予約語リファレンス SQLスタイルガイド(日語訳) 日語訳について 日語訳は誤訳や原文の最新版に追随していない恐れがあります。誤訳や改善点があれば、GitHubのissueまたはpull requestを使用するか、Twitterでお知らせください。 翻訳: 久利史之 @nkuritw 概要 このガイドラインは利用の他、forkしたり、自分自身のものに改変したりすることができます。ここで大事なのはスタイルを選択しそれを踏襲することです。変更の提案やバグの修正にはGitHubのissueまたはpull requestを使用してください。 このガイドライン

    quanon
    quanon 2018/04/11
  • SQLトランザクション分離 実践ガイド | POSTD

    (注:2017/10/16、いただいたフィードバックを元に翻訳を修正いたしました。) (注:2017/10/11、いただいたフィードバックを元に翻訳を修正いたしました。) データベースのドキュメントで分離レベルを目にして、軽く不安を感じつつ、あまり考えないようにしたことはないでしょうか。トランザクションの日常の使用例できちんと分離について言及しているものはほとんどありません。多くはデータベースの初期設定の分離レベルを利用しており、後は運頼みです。しかし、来、理解しておくべき基的なトピックであり、いくらか時間を投入してこのガイドの内容を学習すれば、もっと快適に作業できるようになるでしょう。 私はこの記事の情報を学術論文、PostgreSQLドキュメンテーションから集めました。分離レベルの 何たる かだけでなく、適用の正確さを保持しつつ最大速度で使うにはいつ使うべきか、という疑問に答えるべ

    SQLトランザクション分離 実践ガイド | POSTD
    quanon
    quanon 2017/10/11
  • pandasにsqlでよくやる処理をやらせてみる | mwSoft

    概要 pythonによるデータ分析入門を参考に、MovieLens 1Mを使ってsqlで普段やってるようなこと(joinとかgroup byとかsortとか)をpandasにやらせてみる。 ファイルの読み込み 落としてきたファイルを解凍すると、movies.dat、rating.dat、users.datという3つのファイルが入っているので、read_csvで読み込む。 import pandas as pd movies = pd.read_csv( 'ml-1m/movies.dat', sep='::', header=None, names=['movie_id', 'title', 'genres'] ) ratings = pd.read_csv( 'ml-1m/ratings.dat', sep='::', header=None, names=['user_id', 'mo

  • PlaySQLAlchemy: SQLAlchemy入門

    PlaySQLAlchemy: SQLAlchemy入門1. SQLAlchemy 入門 for Kobe Python Meetup #13 2017/09/15 Kobe Japan 2. Yasushi Masuda PhD ( @whosaysni ) Tech team, Core IT grp. IT Dept. MonotaRO Co., LTD. Pythonista since 2001 (2.0~) • elaphe (barcode library) • oikami.py (老神.py) • PyCon JP founder 翻訳もろもろ 3. アジェンダ よくある誤解 SQLAlchemyを3行で エンジンの基礎 (+hands-on) SQL式を使う (+hands-on) ORMの基礎 (+hands-on) 4. 参考文献 オンラインドキュメント: http

    PlaySQLAlchemy: SQLAlchemy入門
    quanon
    quanon 2017/09/15
  • find_by_sql を使う際のTips - LukeSilvia’s diary

    読んでいたコードで面白いテクニックを使っていたのでメモ。 Rails のActiveRecord のfind 系メソッドは優秀だと思うけど、自分でSQL を書きたい時があると思います。そこで、find_by_sql を使うわけですが、その際、大規模なSQL を書く場合のTips です。 環境 ruby 1.8.7 rails 2.2.2 パラメータによってSQL 自体を変えたい場合 例えば、SQL が以下だったとします。 RDBMSSQLite3 SELECT * from users where name = xxx; これを扱う、find_by_sql が以下のような感じ。 User.find_by_sql(["select * from users where name = :name", {:name => 'bob'}]) #=> [#<User id: 1, name: "

    find_by_sql を使う際のTips - LukeSilvia’s diary
  • Katzentrooper ohne mini Peilsender

    Wenn die Beziehung mit dem Tierarzt bei der Katze nicht sofort funktioniert für die benachbarten Katzen, wurde sie während des Umzugs fast ihre. Ein gewisser Teil der Vorsicht in der Kommunikation mit ihr blieb bei den benachbarten Katzen nur aus dem Grund, dass niemand im Auto wusste, warum sie mit ihnen fahren. Die Annahmen waren unterschiedlich, aber keine davon hat sich als allgemein anerkannt

  • 「相関サブクエリ」とは何かを理解して,複雑なSQLでも読めるようになろう - 主に言語とシステム開発に関して

    SQLの「相関サブクエリ」がわかれば・・・ 巨大なSQLが,迷わずに読めるようになる。 「関数」のような,便利なサブクエリを書けるようになる。 以下では, 「相関サブクエリ」とは何か? 普通のサブクエリ(非相関サブクエリ)やJOIN操作とは何が違うのか? 多重にネストされた,巨大なSQLの読み方は? という点を論じる。 サンプルデータ,および全体の方針 (1)サブクエリ無しでJOIN (2)INで非相関サブクエリ (2)の補足:サブクエリを「関数」と考えてみよう (3)EXISTSで相関サブクエリ 他のサンプル 巨大SQLの読み方 サンプルデータ,および全体の方針 まず,相関サブクエリの説明のために,以下のようなテーブルを例として取り上げる。 table1が,普通のデータ table2が,マスタデータ(ホワイトリスト) 「マスタに一致しないレコードをはじく」という操作をしたい。 方法は3パ

    「相関サブクエリ」とは何かを理解して,複雑なSQLでも読めるようになろう - 主に言語とシステム開発に関して
    quanon
    quanon 2016/08/04
  • サービス終了のお知らせ

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

    quanon
    quanon 2016/03/16
  • RDB - 実例で学ぶ、JOIN (NLJ) が遅くなる理屈と対処法 - Qiita

    "Nested Loop Joinしか取り上げて無いのにタイトルが大きすぎないか" と指摘を頂いたので、タイトルを修正しました。Merge JoinとHash Joinのことはまた今度書こうと思います。 「JOINは遅い」とよく言われます。特にRDBを使い始めて間がない内にそういう言説に触れた結果「JOIN=悪」という認識で固定化されてしまっている人も多いように感じています。 たしかに、JOINを含むようなSELECT文は、含まないものに比べて重たくなる傾向があることは事実です。また、質的に問い合わせたい内容が複雑で、対処することが難しいものも存在します。しかし、RDBの中で一体どういうことが起きているのかを知り、それに基いて対処すれば高速化できることも少なくないと考えています。 稿では、JOINの内部動作を解説した上で、Webサービスを作っているとよく出てくるJOIN SQLを例題に

    RDB - 実例で学ぶ、JOIN (NLJ) が遅くなる理屈と対処法 - Qiita
    quanon
    quanon 2015/07/12
    推移関数従属性に関する落としどころが参考になった。
  • ActiveRecord4でこんなSQLクエリどう書くの? Merge編 | Webシステム開発/教育ソリューションのタイムインターメディア

    ActiveRecord4でこんなSQLクエリどう書くの? Merge編 #activerecord#rails#ruby 2013年 10月 24日 nishio 「このデータ取得するのにSQLではこういう風に書けばいいんだけど、ActiveRecordでは一体どう書けばいいの?」 毎回この課題に悩まされています。 特に業務アプリの場合、とてつもなく複雑なSQLを投げる場合があります。 ものすごい数のテーブルをjoinして、existsで条件みて、union allして。。。 なんていう処理がでてくると、さすがにActiveRecordやDatamapperを使ってクエリを組み立てるのをあきらめて、直接SQLを書いてしまうことがあります。 でも、できればActiveRecordを使ってスマートにSQLを組み立てたいものです。 scopeで書いておけば、処理も使い回せますしね。 ということ

    ActiveRecord4でこんなSQLクエリどう書くの? Merge編 | Webシステム開発/教育ソリューションのタイムインターメディア
  • find_by_sql したレコードで preload する方法 - おもしろwebサービス開発日記

    どうしても AR の query methods だけでは要求を満たせない場合の最後の手段として、find_by_sql メソッドがあります。皆さんよく使ってると思うのですが、戻り値のレコードからさらに association をロードしようとすると N+1 になるケースがあります。かといって User.preload(:comments).find_by_sql(sql) のようにしても期待通りには動きません。単純に preload 部分が無視されるだけです。 ではどのように書いたらよいでしょうか。 次のように書くと期待通りに動きます(Rails 4.2.1 で試しています)。 records = User.find_by_sql(sql) ActiveRecord::Associations::Preloader.new.preload( records, :comments ) re

    find_by_sql したレコードで preload する方法 - おもしろwebサービス開発日記
  • postgresql COUNT(DISTINCT ...) very slow

    I have a very simple SQL query: SELECT COUNT(DISTINCT x) FROM table; My table has about 1.5 million rows. This query is running pretty slowly; it takes about 7.5s, compared to SELECT COUNT(x) FROM table; which takes about 435ms. Is there any way to change my query to improve performance? I've tried grouping and doing a regular count, as well as putting an index on x; both have the same 7.5s execut

    postgresql COUNT(DISTINCT ...) very slow
  • 1