タグ

sqlに関するWatsonのブックマーク (107)

  • SQLファイルから型安全なコードを生成するsqlc | フューチャー技術ブログ

    TIGの辻です。GoのORマッパー連載8日目です。記事では sqlc を紹介します。早速ですが、結論から行きましょう。 sqlc まとめ SQLファイルからデータベースにアクセスできる型安全なGoのコードを生成するライブラリ 構造体のモデルの手書き実装不要 複数テーブルをJOINしたときのマッパー実装不要 生成されるコードは不要なリフレクションなし SQLをがんがん書きたい、でも面倒なマッパー構造体は書きたくない、という開発者にとっては大きな味方になります。 sqlc の紹介 sqlc はSQLファイルからGoのアプリケーションコードを生成するライブラリです。2020/2に v1.0.0 をリリースし、着々とスターを伸ばしています。2021/08現在は v1.8.0 をリリースしています。資料で生成しているコードも v1.8.0 を用いています。 https://star-histor

    SQLファイルから型安全なコードを生成するsqlc | フューチャー技術ブログ
    Watson
    Watson 2021/11/01
  • Sqlime - Online SQLite playground

    Sqlime is an online SQLite playground for debugging and sharing SQL snippets.

    Sqlime - Online SQLite playground
    Watson
    Watson 2021/09/30
  • 社内SQL研修のために作った資料を公開します | 株式会社AI Shift

    こんにちは、Development Teamの三宅です。 先日、社内(AI事業部内)でSQL研修の講師を担当したので、今回はその内容について簡単に共有したいと思います。 はじめに 例年、AI事業部では、新卒エンジニアの育成のためにソフトウェアエンジニア研修を行っております。今年はフルリモートでの実施となりました。研修期間は2週間ほどで、内容は前半が講義、後半が実践(チーム開発)でした。私が担当したのは、講義パートの一部であるSQL研修です。SQLRDBにあまり慣れていない人でも、できるだけ体系的な学びが得られるようにすることを目標に、様々な資料をまとめて提供する方針で準備しました。結果的には、ハンズオン込みで4時間ほどのやや長い講義となりましたが、勉強になったという声も頂けたのでやって良かったと思っています。 研修資料 研修内容 SQL研修の内容は、基的には大学のデータベース講義で

    社内SQL研修のために作った資料を公開します | 株式会社AI Shift
    Watson
    Watson 2021/06/28
  • GitHub - lana-k/sqliteviz: Instant offline SQL-powered data visualisation in your browser

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - lana-k/sqliteviz: Instant offline SQL-powered data visualisation in your browser
    Watson
    Watson 2021/05/17
  • SQLが重いときに見るお気軽チューニング方法

    SQLのチューニング方法 昔Qiitaで書いたものをzennうつして、若干の修正、追加をしてみました。 ORACLEでの経験を元に書いていますがコストベースのリレーショナルデータべースなら大体共通の考え方だと思うので他にも使えると思います。 SQLのチューニングといえば比較的容易に済むインデックスをとりあえず作成する。といった対応を取られがちですが、数万レコード程度でのデータ量ではあまり効き目がなく(自分の経験則)、どちらかといえば、結合順が大幅に狂ってたりすることが原因のことが多かったりします。よって当にインデックスがないことが原因なのか?を熟考する必要があります。(例えばID以外のフラグとかコードに単項目indexを貼ってるのもみたことがあります。怖いけど実話) また、インデックスを作りすぎるとオプティマイザが狂いやすくなって他のSQLにも悪影響を及ぼしたりするので結構熟慮して追加

    SQLが重いときに見るお気軽チューニング方法
    Watson
    Watson 2021/05/11
  • 『達人に学ぶSQL徹底指南書 第2版』を読んだ

    [2020-12-20-1] にも書いた通り、去年の 4 月から SQL と格闘する毎日です。もっとも全部自分で書くわけではなく、Looker が出力する SQL を理解したり、発生したエラーやデータ不正の原因を SQL 視点で調査したり、検証用の使い捨ての SQL を書いたりといった感じです。 つまりは SELECT 文しか書かないです。しかし、SELECT 文こそが SQL そのものと言っても良いため、現在のデータアーキテクト(データ整備人)という立ち位置での学習教材を探していました。そんな中思い出したのが書になります。 LookML 開発者としてはこのに書かれた全てが「優先度高」ではないため、敢えて流し読みを心がけました。 その中で重要だと思ったのはこのあたりでしょうか。 ・1 CASE 式のススメ ・2 必ずわかるウィンドウ関数 ・4 3値論理と NULL ・7 ウィンドウ関数

  • SQL勉強会を通して痛感したデータ民主化への長い道のり - Classi開発者ブログ

    こんにちは、ClassiデータAI部の石井です。 私は2019年4月にソフトバンクからClassiに出向し、マーケティング部を経て、現在データAI部でデータエンジニアとして分析基盤の構築を担当しています。今回は私が現部署で最初に担当したSQL勉強会についてご紹介します。 背景 2020年春頃から、新型コロナウイルスの影響による休校や教育現場の急激な状況変化に対応するため、Classiサービスの詳細な利用状況把握の必要性が高まっています。 Classiは弊社の強みともいえる膨大な教育データを蓄積していますが、残念なことに全社的には貴重な教育データを活用しきれていないことが課題でした。 2020年夏に全社で行った「データAI部に期待すること」に関するアンケートでも、「基礎的なデータ活用方法を教えてほしい」という回答が多く寄せられました。 この状況をふまえ、データ活用のための知識の底上げを行い、

    SQL勉強会を通して痛感したデータ民主化への長い道のり - Classi開発者ブログ
    Watson
    Watson 2021/02/07
  • Google、ORMが生成するSQLが遅いときの調査を容易にする「sqlcommenter」をオープンソースで公開。Rails、Spring、Djangoなど主要なフレームワークに対応

    GoogleORMが生成するSQLが遅いときの調査を容易にする「sqlcommenter」をオープンソースで公開。Rails、Spring、Djangoなど主要なフレームワークに対応 SQL文を直接書かなくとも、自動的にSQL文を生成、実行してくれるORM(Object-Relational Mapper)は、プログラミングを容易にしてくれる技術としてRailsやHibernate、Springなどさまざまなフレームワークなどで活用されています。 一方で、ORMが生成するSQL文はときに複雑に、あるいは非効率なものとなり、データベース処理の遅さにつながることもあります。 このとき、SQL文の生成と実行を明示的にコードとして記述する必要がないというORMの特徴が、なぜデータベース処理が遅くなったのか、どのようなSQL文が生成され、そのどこに原因があるのか、といった調査を難しくている面があり

    Google、ORMが生成するSQLが遅いときの調査を容易にする「sqlcommenter」をオープンソースで公開。Rails、Spring、Djangoなど主要なフレームワークに対応
  • すべてのエディタでSQLの自動補完をするためにSQL Language Server(sqls)を作った - Qiita

    MySQL互換のパーサーが多い印象ですね。どのSQLパーサーを利用するのが最も適切なのか3日ほど悩みましたが、おそらく1ヶ月悩んでも結論はでないと途中で気が付き、ザラッと中身を見た感じシンプルな作りのxwb1989/sqlparserをチョイスしました。 xwb1989/sqlparserで適当なSELECT文をパースするとAST(Abstract Syntax Tree)が構造体として返却されてきました。ASTとは聞いたことがありますが何なのかは全くわかりません。怖いですね。 ASTが何なのかはわかりませんが、ひとまず中身を解析してみるとSELECT文を読み取ったらSELECT文を表現した構造体に情報を格納しているということはわかりました。構造体を更にたどってみるとこのSELECT文どのテーブルを参照しているのか、JOINしているテーブルは何かなんてこともわかります。これなら補完候補が出

    すべてのエディタでSQLの自動補完をするためにSQL Language Server(sqls)を作った - Qiita
    Watson
    Watson 2020/05/16
  • PostgreSQL: 「OR」を避けてパフォーマンスを向上させよう(翻訳)|TechRacho by BPS株式会社

    概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: avoid OR for better PostgreSQL query performance - Cybertec 原文公開日: 2018/05/07 著者: Laurenz Albe サイト: CYBERTEC -- データサイエンス分野でのPostgreSQLサポートやコンサルティングを行っている企業です ※挿絵は原著者自らによるものです。 生きるべきか『OR』死すべきか、それが問題だ」 「帰れ!」「非効率!」「同義反復!」 © Laurenz Albe 2018PostgreSQLクエリのチューニングは私たちCybertecの日常的な業務ですが、チューニング中にクエリにORを1つでも見つけた瞬間、恐ろしさに身の毛もよだつ思いがします。たいていの場合、ORはクエリのパフォーマンス低下の原因となるからです。 言うまでもないこ

    PostgreSQL: 「OR」を避けてパフォーマンスを向上させよう(翻訳)|TechRacho by BPS株式会社
  • SQLZoo

    0 SELECT basics Some simple queries to get you started 1 SELECT name Some pattern matching queries 2 SELECT from World In which we query the World country profile table. 3 SELECT from Nobel Additional practice of the basic features using a table of Nobel Prize winners. 4 SELECT within SELECT In which we form queries using other queries. 5 SUM and COUNT In which we apply aggregate functions. more t

  • SQL Tutorial

    グループ合同の新卒研修で行った SQL 入門向けの解説 + ワークショップです。 基的な部分の解説のみで、一部触れていない構文もございます。 ご了承ください。 KKK: 価格, TNK: 単価, MST: マスタ, IDX: インデックス # URL HomePage: https…

    SQL Tutorial
    Watson
    Watson 2020/04/04
  • websec-room.com - websec room リソースおよび情報

    This webpage was generated by the domain owner using Sedo Domain Parking. Disclaimer: Sedo maintains no relationship with third party advertisers. Reference to any specific service or trade mark is not controlled by Sedo nor does it constitute or imply its association, endorsement or recommendation.

    websec-room.com - websec room リソースおよび情報
  • SELECT文で本番環境を落としたお話 - Qiita

    結果はすぐに帰ってきました。確か2行程度だったと思います。 続けてさらに SQL を実行しようとしました。しかし、ここで同僚から「ソースコードでわからないところがあるんですが…」と声をかけられました。 こちらは急ぎの作業ではなかったので、ターミナルをそのままにして同僚の質問に回答することにしました。 そして約10分後…。 $\huge{「システムがダウンしてるー!」}$ 番障害となりました。 何が悪かったのか **「トランザクションをかけて SELECT 文を打ったお前が悪い」**ということになりました。 何が起きていたのか ログからシステムの動きを確認したところ、あるスレッドで user_setting テーブルをロックしようとしていたことが分かりました。具体的には、以下の SQL が発行されていました。 この SQL には、ロックモードの指定がありません。この場合、PostgreSQ

    SELECT文で本番環境を落としたお話 - Qiita
    Watson
    Watson 2019/12/26
  • 達人に学ぶSQL徹底指南書 第2版 初級者で終わりたくないあなたへ を読みました - YOMON8.NET

    このを読みました。 達人に学ぶSQL徹底指南書 第2版 初級者で終わりたくないあなたへ (CodeZine BOOKS) 作者:ミック翔泳社Amazon 目次 1部 魔法のSQL 2部 リレーショナルデータベースの世界 自分のレベルと書籍のレベル 自分のレベル 書籍のレベル サンプル・演習の実行環境準備 実行環境 コンテナ起動 pgcliで接続 psqlで接続 コンテナ削除 SQLファイルダウンロード 所感 すぐに使える内容もいっぱい 読みやすい 2部の理論難しい 2021/11/24 所感追記 目次 まず目次から。2部構成になっていて、第1部は主に演習をしながら進めていくタイプの内容で、第2部は主に読み物としてリレーショナルデータベースの世界を覗くものになります。 1部 魔法のSQL 1 CASE式のススメ 2 必ずわかるウィンドウ関数 3 自己結合の使い方 4 3値論理とNULL 5

    達人に学ぶSQL徹底指南書 第2版 初級者で終わりたくないあなたへ を読みました - YOMON8.NET
  • そろそろSQLのウィンドウ関数を理解したい - 連載1/3話 - Qiita

    はじめに データ分析とデータ品質改善に従事してきた筆者が、SQLを用いた分析の基である「ウィンドウ関数」の使い方とデータ品質の調査改善を行う手法をまとめてみようと思います。 こちらの記事は、SQLの知識向上と振り返りを主題としているので、ABC分析、バスケット分析、RFM分析などの「データ分析の手法」について説明している記事ではありません。(反響やコメントによって別投稿するかもしれません) 背景 SQLエンジニアの大多数が利用しており、多くの方はWebサービス開発などでデータの登録画面や検索画面を作る際にSQLを利用したり、またはシステムの運用保守で障害の原因調査のためにSQLを利用して原因を特定すると思います。そのため、テーブル結合・サブクエリ・集計関数といったSQL構文は理解されている人が多いと思いますが、分析関数を理解して使っている人となると、ぐっと減ると思います。 私は以前、社

    そろそろSQLのウィンドウ関数を理解したい - 連載1/3話 - Qiita
    Watson
    Watson 2019/11/20
  • SQL文を書く時に気を付けていること - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    SQL文を書く時に気を付けていること - Qiita
    Watson
    Watson 2019/10/14
  • SQLのインデックスとそのチューニングについてのオンラインブック

    開発者向けのSQLインデックス解説サイト、管理についての間違いない知識を提供します。 インデックスは開発時には忘れられがちである一方で、非常に効果的なSQLのチューニング方法です。Use The Index, Lukeでは、HibernateなどのORMツールの解説にとどまらず、SQLのインデックスについて基礎から説明します。 Use The Index, LukeはSQLパフォーマンス詳解のWeb上の無料版です。サイトを気に入って頂けたら、ぜひ書籍も購入してみて下さい。また、このサイトの運営をサポートする様々なグッズも販売しています。 MySQLOracleSQL ServerなどにおけるSQLのインデックスUse The Index, Lukeでは、ベンダにとらわれないインデックスの説明を心がけています。製品特有の事柄については、以下のような表示をしています。 Db2 (LUW)U

    SQLのインデックスとそのチューニングについてのオンラインブック
  • PartiQL :: PartiQL

    PartiQL's extensions to SQL are easy to understand, treat nested data as first class citizens and compose seamlessly with each other and SQL. This enables intuitive filtering, joining and aggregation on the combination of structured, semistructured and nested datasets. PartiQL enables unified query access across multiple data stores and data formats by separating the syntax and semantics of a quer

    Watson
    Watson 2019/08/06
  • SQLQL とは!?

    送信すると、とは 文字通り、リクエストにそのまま SQL を含める curl -XGET -H 'Authorization: Token 6f916ae6-8472-463a-9808-6af19e459541' -F "haute_couture[query]=select id, name from users" https://sqlql-sample-yancya.herokuapp.com/haute_couture

    SQLQL とは!?