タグ

SQLに関するyocchi24のブックマーク (20)

  • Rを学ぼう!エンジニア向けデータマイニング講座|freee 坂本登史文【初めの第一歩編】 | キャリアハック(CAREER HACK)

    freeeのデータマイニングエンジニア、坂さんによる統計解析ツールRを使ったエンジニア向けデータマイニング講座前編。Rで何ができるのか?設定からSQLとの接続、グラフ化まで一連の流れを学びます。 はじめまして。freeeのデータマイニングエンジニアの坂登史文です。先日のロースハラミ現象の記事はいかがでしたでしょうか?私は、記事公開後からたくさんの人に焼肉のお誘いを頂き、非常に充実した夏を送ることができました(笑) 先日の記事はあくまでもデータ活用の考え方の紹介で、正しい意味でのデータ“マイニング”の紹介はできていませんでした。 そこで今回は、エンジニアの皆様向けに、2回に分けてデータマイニングの初めの第一歩をご紹介したいと思います。先日の記事では焼肉店の店長がでてきたように、今回のお話では、WEBエンジニアの山田君が登場します。 山田君の気持ちになって一緒にデータマイニングを体験しても

    Rを学ぼう!エンジニア向けデータマイニング講座|freee 坂本登史文【初めの第一歩編】 | キャリアハック(CAREER HACK)
  • IPAの「安全なSQLの呼び出し方」が安全になっていた

    (Last Updated On: 2018年8月4日)IPAは「安全なSQLの呼び出し方」(PDF)を以下のURLから公開しています。 http://www.ipa.go.jp/security/vuln/websecurity.html 「安全なSQLの呼び出し方」は危険である、とするエントリを書こうかと思い、内容を確認するとそうでもありませんでした。 訂正:ツイッターで徳丸氏に確認したところ、徳丸氏もエスケープを含めたSQLインジェクション対策が必要であると考えられていた、ことを確認しました。徳丸氏にはセキュリティ専門家として大変不名誉な記述であった事を訂正し、深くお詫びいたします。内容についての修正は、識別子エスケープについてブログに書くとの事でしたのでブログの内容を確認してから修正します。 別冊の「安全なSQLの呼び出し方」は基中の基である「正確なテキストの組み立て」によるセ

    IPAの「安全なSQLの呼び出し方」が安全になっていた
  • A5:SQL Mk-2 - フリーの汎用SQL開発ツール/ER図ツール

    A5:SQL Mk-2は複雑化するデータベース開発を支援するために開発されたフリーのSQL開発ツールです。 高機能かつ軽量で、使い方が分かりやすいことを目標に開発されています。 SQLを実行したり、テーブルを編集するほかに、SQLの実行計画を取得したり、ER図を作成したりすることが出来ます。 特徴・機能 OCI接続・直接接続・ADOまたはODBCを介したDBへの接続 Oracle DatabaseはOCI経由の接続・直接接続が出来ます。 PostgreSQLMySQLは直接接続が出来ます。 Microsoft SQL Serverは、OLE DBプロバイダを直接呼び出した接続ができます。 IBM DB2は、ODBCドライバを直接呼び出した接続ができます。 その他のデータベースは、ADOまたはODBCを利用して接続します。 Oracle, PostgreSQL, MySQLは、A5:SQL

  • ここまでやるか。SQLiteをJavaScriptに変換·SQL.js MOONGIFT

    SQL.jsはSQLiteEmscriptenを使ってJavaScript化したソフトウェアです。 SQL.jsはWebブラウザ上で使えるデータベースです。Emscriptenを使ってSQLiteJavaScriptに変換した面白いソフトウェアです。 デモです。テキストエリアに書かれたSQLを実行できます。 実行した結果です。最終的な結果だけが出力されています。SELECTの結果はJSONデータとして取得されています。 もちろん普通にSQLが使えます。 日語は出力時は化けてしまいましたがデータ上は問題ないと思われます。 SQL.jsはSQLiteがそのままJavaScriptになってしまったようなソフトウェアです。慣れた使い勝手でSQLを実行したり、データを取得できてしまうのは面白そうです。なお現状Google ChromeやFirefoxにしか最適化されていません。 SQL.jsは

    ここまでやるか。SQLiteをJavaScriptに変換·SQL.js MOONGIFT
  • 「SQLインジェクション対策」でGoogle検索して上位15記事を検証した - ockeghem's blog

    このエントリでは、ネット上で「SQLインジェクション対策」でGoogle検索した結果の上位15エントリを検証した結果を報告します。 SQLインジェクション脆弱性の対策は、既に「安全なSQLの呼び出し方」にファイナルアンサー(後述)を示していますが、まだこの文書を知らない人が多いだろうことと、やや上級者向けの文書であることから、まだ十分に実践されてはいないと思います。 この状況で、セキュリティのことをよく知らない人がSQLインジェクション対策しようとした場合の行動を予測してみると、かなりの割合の人がGoogle等で検索して対処方法を調べると思われます。そこで、以下のURLでSQLインジェクション対策方法を検索した結果の上位のエントリを検証してみようと思い立ちました。 http://www.google.co.jp/search?q=SQLインジェクション対策 どこまで調べるかですが、以前NH

    「SQLインジェクション対策」でGoogle検索して上位15記事を検証した - ockeghem's blog
    yocchi24
    yocchi24 2011/11/09
    SQLインジェクションについて必読
  • リレーショナルデータベースはNoSQLを取り込み始めた。NewSQLの登場とNoSQLの終わり、という予想

    リレーショナルデータベースはNoSQLを取り込み始めた。NewSQLの登場とNoSQLの終わり、という予想 MySQLの次期バージョンとPostgreSQLの次期バージョンにどのような新機能が追加されるのか、昨日、一昨日の2の記事で紹介しました。 MySQLの次期バージョンはMemcached APIを備える! MySQL Conference & Expo 2011基調講演 PostgreSQLの現状と次期バージョン9.1の新機能。MySQL Conference & Expo 2011 この2つのデータベースの次期バージョンに共通しているのが、NoSQLの機能を取り込んでいることです。NoSQLに対するリレーショナルデータベースによる反撃が始まっています。 リレーショナルデータベースがNoSQLを取り込み始めた MySQLの次期バージョンであるMySQL 5.6に搭載予定の新機能の1

    リレーショナルデータベースはNoSQLを取り込み始めた。NewSQLの登場とNoSQLの終わり、という予想
    yocchi24
    yocchi24 2011/09/15
    『MySQL+HandlerSocketの方がmemcachedよりも高速にクエリ処理』『MySQL 5.6のMemcached APIでも高い性能』PostgreSQL 9.1の「Unlogged tables」も高速に『NoSQLの終りの始まり』って寿命短かったな。スケーラビリティもNoSQLに匹敵できる?
  • ソーシャルゲームのためのMySQL入門 | BLOG - DeNA Engineering

    こんにちはこんにちは。最近お腹痛いばっかり言ってることで有名なiwanagaです。 DeNAは外部的にはプラットフォーム的な部分の方がフィーチャーされることが多いですが、実はソーシャルゲームの提供も行っています。怪盗ロワイヤルとか、どこかで聞いたことがあるのではないでしょうか。 僕はDeNAでソーシャルゲームが誕生した辺りからずっとサーバサイドを見てきましたが、そんな運用の中で自分が貯めてきた知見とかTIPSをご紹介したいと思います。 かれこれ10タイトル近くはレビューしたり運用したりしてるため結構言いたいことはいっぱいあるので、小出しにしつつ評判よければ次も書きます。 ソーシャルゲームのためのMySQL入門一覧 ソーシャルゲームのためのMySQL入門 - Technology of DeNA ソーシャルゲームのためのMySQL入門2 - Technology of DeNA 「MySQL

    ソーシャルゲームのためのMySQL入門 | BLOG - DeNA Engineering
    yocchi24
    yocchi24 2010/11/15
    DB設計の参考に。
  • 地獄のようによくわかるSQLテーブル結合 - こせきの技術日記

    テーブルのJOINが苦手でしたが、この例を思いついてからは、すっきりくっきり理解できるようになりました。むしろ頭から離れません……。 ※ INNER、OUTERは飾り。省略できる。 INNER JOINJOIN LEFT OUTER JOIN → LEFT JOIN RIGHT OUTER JOIN → RIGHT JOIN ※ ON ...=... をまとめて USING(属性) と書ける。 ※ 何で結合するか言うまでもない時は、NATURALを指定すると勝手にJOINしてくれる。NATURALにJOINして……。 ※ WHEREは結合した結果に作用する。 ※ 現実には上図のように1対1で結合しません。 ※ おまけ。CROSS JOIN。 こんなの使いません。 ブクマ用画像。

    地獄のようによくわかるSQLテーブル結合 - こせきの技術日記
    yocchi24
    yocchi24 2010/09/16
    初心者には分かりやすそう。
  • SQL ServerとOracleの一番大きな違い:ベンチャー社長で技術者で:エンジニアライフ

    株式会社ジーワンシステムの代表取締役。 新しいものを生み出して世の中をあっといわせたい。イノベーションってやつ起こせたらいいな。 ぶっちゃけて、SQL Serverも、Oracleも、フリーのPostgreSQLも、RDBMSとしての質的な性能差は当に小さい。そのためRDBMSのベンダーを選択するのは、バックアップとか、レプリケーションとか、クラスタリングなどの機能や関連ツールのできと、IDEとの相性などを検討するのが良いでしょう。 しかし、一般的にあまり検討の対象になってない部分が、実は一番大きな違いだったりします。わたしは、SQL ServerとOracleの差で、もっとも大きいのはストアドプログラム(プロシージャ・ファンクション)の書き方(構文)の違いだと思います。 単純なロジックはOracleの方が書きやすい。SQL ServerのIfなどのステートメントブロックにBEGIN

    SQL ServerとOracleの一番大きな違い:ベンチャー社長で技術者で:エンジニアライフ
    yocchi24
    yocchi24 2010/05/11
    SQLServer と Oracle の違いについてSELECT系のストアドに言及している。PostgreSQLも結構書きやすいと思う。あと大きく違うのはUPDATE文とLimit/Offsetの対応。Web系ではOracleは使いづらい事が多い。 #db #web
  • MySQL を使ったお手軽メッセージキュー実装 - ドワンゴ 研究開発ブログ

    はじめに この記事では、MySQL を使って簡単なメッセージキューを手軽に実装する方法を解説します。 メッセージキューとは、メッセージを一時的に溜めておき、順次処理するための仕組みです。迅速なレスポンスが必要な Web アプリケーションにおいて、時間のかかる処理を非同期に行うために、バックグラウンドで順次処理していくような場合に利用できます。 簡単なメッセージキューと言っても、大規模な運用にも耐えられる程度の速度と堅牢性を持ちます。 また、ここで解説している方法で作られたメッセージキューは、弊社ウェブサービスであるニコニコ動画に最近追加されたtwitter連携機能でも利用しています。 メッセージキューを作るにあたって 今回実装するメッセージキューは メッセージの追加(push)を高速に行う事ができる メッセージの取得(pop)はある程度高速に行う事ができる 多くのクライアントから同時に p

  • ORACLE チューニング INDEXを有効に使う

    ~ ご挨拶 ~ ど~も~☆道先案内人の「ユースク・アンタダレヤ」です。 今回、自分の経験を元に簡単にORACLESQLのチューニングが行なえるよ~♪ 的な覚書を残したいと思います。 あくまで個人的な覚書な感じなので、間違ってる部分や直したけど早くならないなど、苦情が出るかもしれませんが あくまで自己責任でやってください。 おらは責任取りませんぞ!! では、説明していきたいと思いますので、最後までお付き合いくだされ☆ ☆ もくじ ☆ 0.ソート処理が発生するSQLをなるべく使わない 1.INDEXを有効に使う 2.結合に注意!! 3.その他 4.インポート・エクスポート 5.ちょっとしたSQL達!!でも忘れちゃう。。。 6.パーティショニング(表領域のパーティション化) 7.マテリアライズド・ビュー 8.各種確認コマンド 0.ソート処理が発生するSQLをなるべく使わない SQLを遅くする要

  • 20090107 Postgre Sqlチューニング(Sql編)

    3. 実行計画とは? 実行計画は、PostgreSQLのオプティマイザが最適だと判断したクエリを実行する個々のステップを示したもの。 Explainを使用することで、参照可能 testdb=# explain select count(id) from master where valid = true; QUERY PLAN ---------------------------------------------------------------------------- Aggregate (cost=217107.05..217107.06 rows=1 width=0) -> Seq Scan on master (cost=0.00..213742.88 rows=1345668 width=0) Filter: valid 4. ExplainとExplain analyz

    20090107 Postgre Sqlチューニング(Sql編)
  • Window関数 — Let's Postgres

    また、CREATE FUNCTION 文でユーザ定義のWindow関数を追加することもできますが、バージョン 8.4 ではC言語で関数を記述する必要があります。SQLやPL/pgSQLは使えないので、敷居は高いかもしれません。 例 典型的なWindow関数の使い方を挙げます。この他にも、これまで複雑なSQLが必要だったさまざまなケースを効率化できる可能性がありますので、SQLパズルだと思って試してみてください。。 連番付与 連番付与を行います。ソートした後、番号をふるのがポイントです。 SELECT row_number() OVER (), * FROM (SELECT * FROM tbl ORDER BY sortkey) AS t; ただし、結果の最大行数を指定するには、row_number との値の比較ではなく、これまでどおり LIMIT 句を使ってください。row_number

    yocchi24
    yocchi24 2009/10/29
  • PostgreSQLの分析関数の衝撃1 (モードとメジアン):CodeZine

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    PostgreSQLの分析関数の衝撃1 (モードとメジアン):CodeZine
  • OTN Japan - 404 Error

    URLが下記の通り変更になりました。 お手数ですがブックマークなどの変更をお願い申し上げます。 10秒後、自動的にジャンプしますのでしばらくお待ちください。 ※ジャンプしない場合は、下記のURLをクリックしてください。 http://www.oracle.com/technetwork/jp/index.html

    yocchi24
    yocchi24 2009/10/29
  • 2つの副問い合わせの違い - オラクル・Oracleをマスターするための基本と仕組み

    2つの副問い合わせの違い IN 条件か EXISTS 条件か NOT IN (〜) と NOT EXISTS (〜) では多くの場合 NOT EXISTS の方がチューニングとして高速になるのは有名である。 しかし、IN ( <副問い合わせ> ) と EXISTS ( SELECT 〜) でお互いに置き換え可能な場合、果たしてどちらを使うのか? どちらでも同じなのか? IN (<副問い合わせ>) の場合 〜2つの表の フィルタ処理〜 IN ( 〜 ) は副問い合わせ結果を親の問い合わせへの「入力データ」として組み込まれて実行計画される。 副問い合わせでの結果を親の問い合わせに取り込んで処理をすると考えることができる。 この過程が理解できると NOT IN ( <副問い合わせ> )が、 NOT EXISTS と比べて「入力データ」が巨大で、いかにコストが高い処理か想像することができる。 しか

  • SQL講座 INNER JOINを使った表の結合

    副問い合わせの中に相関副問い合わせという方法がある。これは、主問い合わせの結果をチェックするというものである。 副問い合わせではWHERE句で指定されたSELECT文の実行結果を元に主問い合わせを実行した。 それに対して、相関副問い合わせでは主問い合わせの表の1行ごとに副問い合わせを実行する。 そして、EXISTSを指定された副問い合わせでは、主問い合わせで指定されたデータが存在すれば真を返し、存在しなければ偽を返す。真の行だけが抽出される。 まず、準備としてEXISTS述語を指定したSELECT文の実行結果が分かりやすいように商品表に次の2つの行を追加する。 EXISTS述語の記述形式は以下のとおりである。 << 記述形式 >> 《例題1》 売上のあった商品名を抽出する。売上のあった商品とは、売上明細に存在する商品のことである。つまり、商品表の商品のうち売上明細に存在する商品を抽出すれば

    yocchi24
    yocchi24 2009/10/29
  • なぜMySQLのサブクエリは遅いのか。

    よくMySQLはサブクエリが弱いと言われるが、これは当だろうか?半分は当で半分は嘘である。MySQLのサブクエリだってなんでもかんでも遅いわけではない。落とし穴をしっかり避け、使いどころを間違えなければサブクエリも高速に実行できるのである。今日はMySQLがどんな風にサブクエリを実行し、どのような場合に遅いのかということについて説明しよう。 EXPLAINで実行計画を調べた際に、select_typeにはクエリの種類が表示されるのだが、代表的なサブクエリには次の3つのパターンがある。 SUBQUERY DEPENDENT SUBQUERY DERIVED 結論から言おう。遅いのは2番目、DEPENDENT SUBQUERYである。DEPENDENT SUBQUERYとはいわゆる相関サブクエリに相当するもので、サブクエリにおいて外部クエリのカラムを参照しているサブクエリのことである。そし

    なぜMySQLのサブクエリは遅いのか。
  • MySQLでの累積集計

    yocchi24
    yocchi24 2009/03/16
    データが少ない場合の累積集計
  • HAVING句の力

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    HAVING句の力
    yocchi24
    yocchi24 2009/01/07
    他の一連の記事も初級者~中級者におススメ
  • 1