Group By X means put all those with the same value for X in the one group. Group By X, Y means put all those with the same values for both X and Y in the one group. To illustrate using an example, let's say we have the following table, to do with who is attending what subject at a university: Table: Subject_Selection +---------+----------+----------+ | Subject | Semester | Attendee | +---------+--
BigQuery (Standard SQL) でレイトレーシングをしてみました。 レイトレーシングとは レイトレーシングとは、光の輸送(屈折や反射)を物理シミュレーションして現実的なCG画像を作りだす技術です。 最近では RTX や PS5 など、リアルタイムレイトレーシングが台頭してきています。 レイ トレーシングとラスタライズの違い | NVIDIA レイトレーシングではピクセルごとにレイを飛ばして計算するため計算量が膨大になりがちですが、 ピクセルごとに独立に計算することができるので、処理の高速化が期待できます。 それなら BigQuery が得意分野じゃないか?と思い今回の挑戦をしてみました。 BigQuery とは 超高速でSQLを分散実行し数秒でペタバイト級データに対しても結果が返ってくるデータ分析向けサーバーレス・データウェアハウスです。詳細は以下をごらんください。 Big
"Nested Loop Joinしか取り上げて無いのにタイトルが大きすぎないか" と指摘を頂いたので、タイトルを修正しました。Merge JoinとHash Joinのことはまた今度書こうと思います。 「JOINは遅い」とよく言われます。特にRDBを使い始めて間がない内にそういう言説に触れた結果「JOIN=悪」という認識で固定化されてしまっている人も多いように感じています。 たしかに、JOINを含むようなSELECT文は、含まないものに比べて重たくなる傾向があることは事実です。また、本質的に問い合わせたい内容が複雑で、対処することが難しいものも存在します。しかし、RDBの中で一体どういうことが起きているのかを知り、それに基いて対処すれば高速化できることも少なくないと考えています。 本稿では、JOINの内部動作を解説した上で、Webサービスを作っているとよく出てくるJOIN SQLを例題に
unassert - encourage reliable programming by writing assertions in production
I tweeted about ORM last week, and since then several people have asked me to clarify what I meant. I have actually previously written about ORM, but it was in the context of a larger discussion about SQL and I shouldn't have confused the two issues. So here I'm going to focus on ORM itself. I'm also going to try to be very brief, since it became very apparent from my SQL article that people tend
2007-01-25 Rails + SQLite3 を使って、 DB のレコードを検索する場合の速度を測った。 調べたのは、インデックスを張る前後でどれくらい速度が変わるかということ。 インデックスを張らない場合 まず、普通にモデルを作り、インデックスを張らない状態で検索する。 データは10万件程度。 検索回数は100回。 検索は完全一致と前方一致 (LIKE 演算) の2種類。 実行環境は VMware 上の Debian sarge 。 SQLite は 3.2.1 。 前方一致検索のために、 search_by_name メソッドを作成している。 class Item def self.search_by_name(name) if name.blank? [] else find(:all, :conditions => ["name like ?", name + '%'])
前回は開発中のPostgreSQL 8.1で,バッファ・マネージャに改良が加えられて,大幅な性能向上があったことを述べた。今回は同じく性能面で大きな前進となるビットマップ・ベースの実行プラン・タイプが追加されたことを報告する。なお,本稿で検証に使用したのは5月3日時点のバージョンである。 オプティマイザと実行プラン その前に,PostgreSQLにおけるオプティマイザと実行プランについて復習しておこう。 テーブルにはアクセスを高速化するためにインデックスを追加することができる。インデックスとは日本語で「索引」のことである。例えば書籍を例にとって考えてみよう。ある書籍の中から,「神奈川県」について書かれたページを探したいとする。もし索引がなければ書籍の1ページ目から丹念に読んでいくしかない。しかし索引があれば,「神奈川県」について書かれたページがすぐに分かるので,素早く目的のページにたどり着
■ インデックスとは データベースの世界で、インデックス(索引)とはテーブルに格納されているデータを 高速に取り出す為の仕組みを意味します。 インデックスを適切に使用することによってSQL文の応答時間が劇的に改善 される可能性があります。 インデックスにはB-Treeインデックスをはじめ、ビットマップインデックス、 関数インデックスなどの種類がありますが、ここでは最も一般的に使われ、かつ ほとんどのDBMSでサポートされているB-Treeインデックスについて解説します。 ※ CREATE INDEX文でオプションを指定しない場合は通常B-Treeインデックスが 作成されます。 ■ B-Treeインデックスのしくみ B-Tree(Balanced Tree)インデックスは次のようなツリー状の構造になっています。 ツリーの先頭はヘッダブロックと呼ばれています。ヘッダブロックでは、キー値の 範囲
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
実験エントリです。 予習してみる 「転置インデックス」というキーワードで検索して、しばらく勉強してみます。 転置インデックス - Wikipedia mixi Engineers’ Blog » 転置インデックスを実装しよう ASCII.jp:悟空、秘剣「転置インデックス」を手に入れる |Googleはなぜ的確に探せるのか? [を] 転置インデックスによる検索システムを作ってみよう! 転置インデックスで学ぶ検索エンジンの中身アプリ - 睡眠不足?! うーんなるほど。分かったような分からないような。 作ってみる とりあえず、Twitter4Jを使ってこんなデータを用意しました。ちなみに人選は漢(オトコ)のコンピュータ道: MySQLerのTwitterアカウントまとめ。を参考にさせていただきました。 5707049458,2009-11-14 20:28:34,sakaik,@hbstudy
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く