タグ

SQLに関するskypenguinsのブックマーク (11)

  • クエリのパフォーマンスチューニングの第一歩。実行計画や統計情報について入門する

    SQL実行の流れ まずはSQLがどのような流れで実行されるのかを見ていきます。 SQL実行の流れは大まかに捉えると以下のようになります。 パーサ パーサでは、ユーザーから送信されたクエリを受け取り、その文法的な正確さを検証します。SQLクエリが正しくフォーマットされているか、必要な構文要素が全て含まれているかをチェックし、例えばFROM句で指定されたテーブルが存在するかどうかも確認します。 文法的なエラーがある場合、例えばカンマの欠落や存在しないテーブルの参照など、クエリはエラーとして返されます。 エラーがない場合は、クエリは「抽象構文木」というデータ構造に変換されます。これにより、データベースはクエリをより効率的に解析し、次の処理ステップに進めることができます。 オプティマイザ SQLクエリがパーサを通過した後、次にクエリの最適化を行うのが「オプティマイザ」です。オプティマイザの主な役割

    クエリのパフォーマンスチューニングの第一歩。実行計画や統計情報について入門する
  • N+1問題がなんもわからんというだけの記事

    N+1問題がなんもわからん。なんもわからんので記事にしてなんもわからん人口を増やしてやるという記事です。 N+1問題って何? 例えば User -> Friendという1対他の関係があるデータをDBに保管しているときに、下記のように問い合わせをやってしまうとN+1問題になります。 const users = User.findAll(); for (const user in users) { const friends = user.findFriend(); // ... } というように1度の取得でフレンドまで持ってくれば良いというので簡単ですね。 N+1問題完全に理解した!やったー!!! 何がわからんの? これで終わればよかったのですが、ひょんなことでN+1問題を考える機会があり実はN+1問題の問題認識が人によってズレてるのでは・・・?ってなりました。 参考までにN+1問題でググっ

    N+1問題がなんもわからんというだけの記事
  • SQL滅ぶべし | ドクセル

    SQL • リレーショナルデータベースシステムと会話するための言語 • 1970年 Codd が RDB モデルと同時に提案 (Alpha言語) • 1974年 Chamberlin と Boyce が改良 • 元々は SEQUEL (Structured English Query Language) だったが、商標登録されていた • 読み方は エスキューエル とそのまま読む (Glliespie 2012)

    SQL滅ぶべし | ドクセル
  • SQLの実行計画の読み方 |

    今回は、SQLを書く上で特にパフォーマンスに影響のあるSQLの実行計画の読み方について解説します。実行計画はデータベース製品によってさまざまに差異がありますが、ここでは比較的どのデータベース製品でも共通する内容について解説します。 実行計画とは記述したSQLが実際にデータベースの内部でどのように処理されて結果を返すか、その処理方法を記述した情報です。 A5:SQL Mk-2では、SQLエディタで実行計画を見たい SQL の上にキャレットがある状態でメニューから [SQL(S)] – [SQLの実行計画(J)] または、Ctrl+E で表示できます。 表示の仕方はデータベース製品ごとに異なりますが、多くのデータベース製品ではツリー状の情報として表現されます。(このため A5:SQL Mk-2でもツリービューで実行計画を表示します。) ツリーのリーフ(端)から処理が行われ、ルート(根)に向かっ

  • 2022 年に学んで良かった技術

    雑に書いていきます。 バックグラウンド自分のバックグラウンドスキルは以下の通り。専門はリアルタイムな通信プロトコルを利用したサーバーの設計と開発とマーケティング。 Erlang/OTPWebRTCEnd to End Encryption細かいのはこちら。 SQLGosqlc を使うために学ぶことにした。sqlc を採用したのは複数人数で開発するときの共通言語としては SQL の方がいいだろうというのと、SQL はどんなデータを持たせたいのかを伝えるのに便利と判断したため。 今までずっと通信系ミドルウェアの開発をしてきたこともあって SQL を学ぶ必要が無かったが、今回いい機会なのでちゃんと学ぶことにした。 まずは利用データベースを完全にしぼって TimescaleDB (PostgreSQL ベース) で利用する SQL だけを学ぶことにした。 書籍は元 SIer のガチ SQL

  • 競走馬の血統をSQLで再現できる! 再帰クエリ徹底活用してみた - asoview! Tech Blog

    アソビュー! Advent Calendar 2022の10日目です。 8月に入社しアソビューでバックエンドエンジニアをしている長友です。 みなさま再帰クエリ使っていらっしゃるでしょうか! 最近アソビューではmysqlの8系へのバージョンアップを行った為、再帰クエリの利用が可能となりました。 そこで日は、アソビュー競馬部にも所属しておりサラブレッドの血統好きな私が再帰クエリを使ってツリー構造の血統表を作成してみるというお話です。 血統表とは ~ 稿の目的 再帰クエリについて mysqlにおける再帰クエリの構文 再帰クエリとナイーブツリー構造 血統表作成における再帰クエリ 血統表のデータ構造 血統表を作成するクエリ ポイント1. 世代を表すgenerationを0で初期化し、各再帰の中でインクリメントする ポイント2. 世代内での配置を表すpositionを初期値1で定義し、再帰で取得す

    競走馬の血統をSQLで再現できる! 再帰クエリ徹底活用してみた - asoview! Tech Blog
  • Azure Cosmos DB - NoSQL and Relational Database | Microsoft Azure

    Explore Azure Get to know Azure Discover secure, future-ready cloud solutions—on-premises, hybrid, multicloud, or at the edge Global infrastructure Learn about sustainable, trusted cloud infrastructure with more regions than any other provider Cloud economics Build your business case for the cloud with key financial and technical guidance from Azure Customer enablement Plan a clear path forward fo

  • postgresql Archives - ファイヤープロジェクト

    Skip to contentCategory: postgresql248月2007 トランザクションJDBCのデフォルト動作はautocommitである... Fujiko feature, postgresql238月2007 接続まずlibpqを使用するための環境を整えた.で,接続... Fujiko feature, postgresql073月2007 SQLによるユーザ定義関数PostgreSQLには多くのbuiltin関数があ... Fujiko feature, postgresql151月2007 トランザクションと隔離レベルとロックPostgreSQLでのトランザクションについて調査... Fujiko feature, postgresql031月2007 PostgreSQLPostgreSQLをやってみたいと思って早一年半,... Fujiko feature,

  • PostgreSQLで日本語全文検索 - LIKEとpg_bigmとPGroonga - 2015-05-25 - ククログ

    PostgreSQLアンカンファレンス@東京(2015/5/30)でPostgreSQLの日語全文検索まわりについて紹介しようかとたくらんでいます。しかし、現時点(2015-05-25)でキャンセル待ちで、当日参加できないかもしれないので紹介しようと用意している内容をここにまとめます。 内容 この資料の目的は、PostgreSQLで使える次の3つの方法の特性を紹介し、ユーザーが適切な方法を選択するための材料を提供することです。 LIKE pg_bigm PGroonga(ぴーじーるんが) LIKE LIKEのメリット・デメリットは次の通りです。 メリット 標準で使える インデックス作成不要(= データ更新が遅くならない) データが少なければ十分速い デメリット データ量に比例して遅くなる ユーザーがLIKEを使うかどうかの判断基準は「十分速いかどうか」(= 「データが少ないかどうか」)で

    PostgreSQLで日本語全文検索 - LIKEとpg_bigmとPGroonga - 2015-05-25 - ククログ
  • リレーショナルデータベースの仕組み (1/3) | POSTD

    リレーショナルデータベースが話題に挙がるとき、私は何かが足りないと思わずにはいられません。データベースはあらゆるところで使われており、その種類も、小規模で便利なSQLiteからパワフルなTeradataまで様々です。しかし、それがどういう仕組みで機能しているかを説明したものとなると、その数はごくわずかではないでしょうか。例えば「リレーショナルデータベース 仕組み」などで検索してみてください。ヒット数の少なさを実感できると思います。さらにそれらの記事は短いものがほとんどです。逆に、近年流行している技術(ビッグデータ、NoSQLJavaScriptなど)を検索した場合、それらの機能を詳しく説明した記事はたくさん見つかると思います。 リレーショナルデータベースは、もはや大学の授業や研究論文、専門書などでしか扱われないような古くて退屈な技術なのでしょうか? 私は開発者として、理解していないものを

    リレーショナルデータベースの仕組み (1/3) | POSTD
  • まずやっとくPostgreSQLチューニング

    pg_walinspectについて調べてみた!(第37回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation

    まずやっとくPostgreSQLチューニング
  • 1