Build beautiful charts in 2 clicks. Combine multiple charts in a Dashboard.
Build beautiful charts in 2 clicks. Combine multiple charts in a Dashboard.
Transcript SQL 株式会社 AI Shift 三宅 悠太 1. データベース 2. SQL I 3.トランザクション 4. データベース設計 5. インデックス 6. 実行計画 7. SQL II データベース データベースとは “A database is an organized collection of inter-related data that models some aspect of the real-world “ (CMU) データベースとは、実世界のある側面をモデル化した、秩序 だった、相互に関連したデータの集まり DBMS • データベース管理システム(DBMS)は、データベースを管理するソフトウェア ◦ 例:MySQL, Oracle Database, SQLite, MongoDB • DBMSの目的は、アプリケーションが簡単にデータベースにデー
こんにちは、Development Teamの三宅です。 先日、社内(AI事業本部内)でSQL研修の講師を担当したので、今回はその内容について簡単に共有したいと思います。 はじめに 例年、AI事業本部では、新卒エンジニアの育成のためにソフトウェアエンジニア研修を行っております。今年はフルリモートでの実施となりました。研修期間は2週間ほどで、内容は前半が講義、後半が実践(チーム開発)でした。私が担当したのは、講義パートの一部であるSQL研修です。SQLやRDBにあまり慣れていない人でも、できるだけ体系的な学びが得られるようにすることを目標に、様々な資料をまとめて提供する方針で準備しました。結果的には、ハンズオン込みで4時間ほどのやや長い講義となりましたが、勉強になったという声も頂けたのでやって良かったと思っています。 研修資料 研修内容 SQL研修の内容は、基本的には大学のデータベース講義で
皆さん、はじめまして。 エウレカで分析を担当しているミニオンこと鈴木です。 あだ名の由来は、顔がミニオンに似ているからだそうです。 ちなみに映画のミニオンズは一度も見たことがありません。 この記事は、eureka Engineering Advent Calendar 2017 18日目の記事です。 前日、17日目の記事は同じ分析チームのスマート&ラブリーガイ、ミッキーこと小林くんの確率的プログラミングPyro入門でした! みなさん、もうすぐ冬休みですね!何をしようかワクワクしている頃ではないでしょうか? なかには「来年こそはSQLを使ってゴリゴリ仕事をしたいから冬休みに勉強したい!」 なんて方もいらっしゃるのではないでしょうか!? 突然ですが、少しだけ僕のSQLキャリアの話をさせて頂きます。 もともと僕はエウレカに2年前、ディレクターとしてジョインしました。 入社後からSQLの勉強を始め
Google、ORMが生成するSQLが遅いときの調査を容易にする「sqlcommenter」をオープンソースで公開。Rails、Spring、Djangoなど主要なフレームワークに対応 SQL文を直接書かなくとも、自動的にSQL文を生成、実行してくれるORM(Object-Relational Mapper)は、プログラミングを容易にしてくれる技術としてRailsやHibernate、Springなどさまざまなフレームワークなどで活用されています。 一方で、ORMが生成するSQL文はときに複雑に、あるいは非効率なものとなり、データベース処理の遅さにつながることもあります。 このとき、SQL文の生成と実行を明示的にコードとして記述する必要がないというORMの特徴が、なぜデータベース処理が遅くなったのか、どのようなSQL文が生成され、そのどこに原因があるのか、といった調査を難しくている面があり
はじめに MySQL等を触る際にとても便利なDBクライアントツール 皆さんは何を使っていますか? 僕は今まで「SequelPro」を使っていました。 SequelProの更新が止まった 今まで沢山お世話になったSequelProですが、ある日からパッタリと更新を辞めました。 製作者に何があったのかは分かりませんが、未解決の課題は積もっていき1000を超える量となってしまい、本格的に乗り換えを検討が必要となりました。 SequelPro難民を救うべく立ち上がった開発者達 SequelProが非アクティブになってから何年も経った時、ついにコミュニティが立ち上がりました。 SequelProをフォークして後継となるSequelAceを作りました。 あくまでフォークしたものなのでライセンスはSequelProに帰属します。 License Copyright (c) 2020 Moballo, L
はじめに PostgreSQL始めました。 SQLを学ぶ過程でWhere句とHaving句の違いがわからずに悩んだ時期があったので、その時感じたことを書いておきます。 環境 MacOS 10.10.5 PostgreSQL 9.4.5 Where句でもHaving句でも同じ結果が出るけど何が違うんだろう? 結論から言うと Where句はselect句の結果からwhere句で指定した抽出条件を実行する Having句はGroupBy句でグルーピングした結果からHaving句で指定した抽出条件を実行する という違いがあります。 同じ結果が出ることを確認 PostgreSQLのチュートリアルにあるデータベースを使います。手を動かして確認したい方はこちらを見てデータベースを用意していただければと思います。 今回使用するカスタマーテーブルは以下のようになっています。 select * from cu
Keep Names Simple Use one word for a table name instead of two. If you do need to use multiple words use underscores instead of spaces or full stops. Having dots in names of objects will cause confusion between schema and database names and using spaces means you need to add quotes in your query to make it run. Keep column and table names consistently in lowercase so users don’t have to remember w
Indexを作成すべき列の特長 1. テーブル内のデータ量が多く、少量のレコードを検索する場合 2. WHERE句の条件、結合の条件、ORDER BY句の条件として頻繁に利用する ただし全表走査が目的のテーブルであれば索引は不要 3. NULL値が多いデータから、NULL値以外の検索をする IndexはNULLを含まないのでNULL値以外の検索には効果がある 逆に、Indexを作成すべきでない列の特徴 表の規模が小さいか、表から大部分のレコードを検索する場合 WHERE句等の条件としてあまり仕様されないもの 列の値が頻繁に挿入、更新、削除される Indexは表に新規行が挿入されればIndexにも自動的に値が格納される。そのためデータの検索速度は向上するが挿入、更新、削除の処理では索引のメンテナンス作業が発生し、速度低下につながる WHERE句の条件として使用されるが、列が式の一部として参照
はじめに 前回に引き続き、またまたDBネタです(^o^) 前回:Railsエンジニアなら最低限これだけは知っておきたいSQLのJOINの動き 今回は、インデックスについてです。インデックスにはいくつか種類がありますが、 RDBで一般的に使われるB-treeインデックスについて書いていきます。 いきなりですが、インデックスは深い!かなり深い!バイカル湖くらい深いです。 ある程度の指針的なものはありますが、インデックスをどう設計するかの見極めは状況によって変わってくるようです。クエリの実行頻度、テーブルサイズ、カーディナリティ(カラム内のデータの種類の多さ)などなど。。 なので今回は、こんなときはインデックス作成を検討した方がいいというパターンだけザッとまとめる感じで行きたいと思います。 なお、今回の記事作成にあたっては、以下の本を参考にさせて頂きました。 そもそも的なところから分かりやすく書
テーブル設計でこんなものですが〜みたいな出し方やると、割と取り返しつかなくてあれなので、 意識が入らないくらい習慣に叩きこめば問題ないですね。 実践SQL入門を買ったので読み進めようと思ったら、 本書では以降、実行計画の読みやすいPostgreSQLとOracleの実行計画をサンプルとして使います。 と書いてあって、MySQLの実行計画無いの、というか、MySQLの実行計画読み難いの? となったので、 MySQLの実行計画の読み方について調べてから読み進める事にしました。 本はまだまだ読み終わっていないですが、一旦投下。 内容 ためしにMySQLでExplain 操作対象のオブジェクト、操作の対象となるレコード数 オブジェクトに対する操作の種類 MySQLのSELECT文の見方の基本 Explain可能な命令について ためしにMySQLでExplain 試しに、MySQLのExplainを
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く