タグ

sqlに関するKGAのブックマーク (10)

  • SQL style guide by Simon Holywell

    Overview General Do Avoid Naming conventions General Tables Columns Aliasing or correlations Stored procedures Uniform suffixes Query syntax Reserved words White space Indentation Preferred formalisms Create syntax Choosing data types Specifying default values Constraints and keys Designs to avoid Appendix Reserved keyword reference Column data types SQL style guide Overview You can use this set o

    KGA
    KGA 2015/07/26
  • YappoLogs: なぜ SQL_CALC_FOUND_ROWS や LIMIT OFFSET のページングが良く無いのか

    なぜ SQL_CALC_FOUND_ROWS や LIMIT OFFSET のページングが良く無いのか ここ最近の大規模サービス関連したデータページング考です。 mysql 5.5.34 で試して記事書いてます。 bigdata テーブルは id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, PRIMARY KEY (id) なカラムがある前提です。もちろん InnoDB です。 2014年なんだからCOUNT(*)とかSQL_CALC_FOUND_ROWSとかLIMIT OFFSETのページングはやめようぜ - Togetterまとめが発端にみえるけど、わりと昔から話されてる事なんだけど、「nippondanji SQL_CALC_FOUND_ROWS」でググっても有用な情報ないし文書化されてないからしとく。 ページング処理で使われがちな機能です。 S

    KGA
    KGA 2014/03/13
  • SQLアンチパターン

    書はDB設計やSQL記述の際に避けるべき事柄を1章で1つ、25個紹介する書籍です。リレーショナルデータベースを中心に据えたシステム開発には、様々な場面で陥りやすい失敗(アンチパターン)があります。書はデータベース論理設計、データベース物理設計、クエリの記述、アプリケーション開発という4つのカテゴリに分け、それぞれの分野におけるアンチパターンを紹介し、失敗を避けるためのより良い方法を紹介します。複数の値を持つ属性や再帰的なツリー構造の格納から、小数値の丸めやNULLの扱いに起因する問題、全文検索やSQLインジェクション、MVCアーキテクチャなど、実践的かつ幅広いトピックを網羅します。日語版では、MySQLのエキスパートとして著名な奥野幹也氏によるアンチパターンを収録。データベースに関わるすべてのエンジニア必携の一冊です。 書への称賛の声 監訳者まえがき はじめに I部 データベース論

    SQLアンチパターン
    KGA
    KGA 2013/04/03
  • limit/offsetについて考える - だるろぐ

    LIMIT 20 OFFSET (:page - 1) * 20 みたいなクエリは :page に大きい値が入れれるように設計されてるとクエリに殺されるので、 WHERE key = :offset_for_next_page LIMIT 20 なクエリになるよう設計してほしい。 http://twitter.com/kamipo/status/56304601049210880 俺もボスに教わるまで知らなかったのだが、 mysql> select id from mentions order by id asc limit 100, 10;がすることは、 データを10個だけfetchする ではなく、 110個データをfetchして、先頭から100個捨てる だ。何を今更って感じですよねー知ったのは10ヶ月ほど前でした。俺の未熟さを思い知れ。 で。このようにlimitを付けてデータを取得する

    limit/offsetについて考える - だるろぐ
    KGA
    KGA 2011/04/09
  • SQL::Abstract を使い倒す - JPerl Advent Calendar 2009

    SQL::Abstract を使い倒す - JPerl Advent Calendar 2009 Perl に関するちょっとした Tips をのっけてみるよ。ちゃんと続くかな? 今更、携帯小説にハマってる id:ZIGOROu です。モバゲーのオンライン3って小説が面白いですよ! 今日は SQL::Abstract を使い倒すと言うネタで行きます。 まず超基編 簡単な SQL 文の生成から始めましょう。 use strict; use warnings; use Data::Dump qw(dump); use SQL::Abstract; my $s = SQL::Abstract->new; my ($stmt, @bind) = $s->select( "activity", # tables [qw/id title sender created_on/], # columns

    KGA
    KGA 2010/03/24
    SQL::Abstract
  • SQLチューニング(3) ~ EXPLAINの実際 — NPO法人 日本PostgreSQLユーザ会

    by 柴田 淳 — posted at 2005-11-17 00:00 last modified 2006-12-04 12:41 ちょっとテンパってしまっていて、ご無沙汰になってしまいました。一応ネタが続く限り続ける予定ですので、今後ともよろしくお願いします。 さて、EXPLAINの見方は前回軽く解説しましたが、今回は実際にEXPLAINの結果からチューニングをしてみます。 例えば、DBT1のテーブルやデータを使うとして、例えば SELECT c_fname, c_lname, c_phone, c_email, o_id, o_date, o_sub_total, o_tax, o_total, o_ship_type, o_ship_date, o_status, o_bill_addr_id, o_ship_addr_id, cx_type, cx_auth_id FR

  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • サービス終了のお知らせ

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

    KGA
    KGA 2009/09/15
  • SQL::Interp - 日向夏特殊応援部隊

    SQL::Interp を最近使ったりします。ってのも生 DBI だと IN 文とか placeholder 化するの面倒だし。 と言う訳で下記サンプル。__END__ 以下に結果もつけといた。 #!/usr/bin/perl use strict; use warnings; use Data::Dump qw(dump); use Perl6::Say; use SQL::Interp qw(sql_interp); { my ($sql, @bind) = sql_interp 'INSERT INTO identifier', +{ resource_id => 'xri://=zigorou', canonical_id => 'xri://=!545A.6972.43FA.38AD' }; say dump($sql, \@bind); } { my ($sql, @bind)

    SQL::Interp - 日向夏特殊応援部隊
    KGA
    KGA 2009/08/01
  • SQL Injection Cheat Sheet

    Examples; (MS) means : MySQL and SQL Server etc. (M*S) means : Only in some versions of MySQL or special conditions see related note and SQL Server Table Of Contents About SQL Injection Cheat Sheet Syntax Reference, Sample Attacks and Dirty SQL Injection Tricks Line Comments SQL Injection Attack Samples Inline Comments Classical Inline Comment SQL Injection Attack Samples MySQL Vers

  • 1