タグ

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

  • MySQLで実行中のクエリ一覧を見て、SQLを強制終了する方法 | Basicinc Enjoy Hacking!

    時々、アプリケーションが暴走して変なクエリが発行されたり、いつまでたってもクエリが終わらない時とかありますよね。そんな時には、MySQLで実行中のSQLを見て、問題ありそうなものを強制終了させちゃいます。 MySQLにログイン $ mysql -u hoge -phoge db まずはMySQLにログイン。その後、 > show processlist; と打つと現在実行しているSQLの一覧が表示されます。項目の中にTimeというのがありますが、これが実行から何秒経過しているかを表しています。 ちなみに > show full processlist \G; と full を付け加えるとSQLの全文が表示される + \G を末尾に付け加えるとクエリ毎に分割されて見やすくなります。 明らかに時間がかかって負荷の原因になっているものがあれば Id という項目で表示されている数値を使って強制終了

    MySQLで実行中のクエリ一覧を見て、SQLを強制終了する方法 | Basicinc Enjoy Hacking!
  • SQL実行計画の疑問解決には「とりあえずEXPLAIN」しよう

    EXPLAINステートメントとは EXPLAINは、SQLの実行計画に関する情報を取得するためのステートメントです。実行計画とは「どのインデックスを使って(あるいはインデックスを使わずにテーブルスキャンで)クエリーを処理するか」をMySQLが判断した結果のことです。「インデックスはちゃんと使われているだろうか」「インデックスでどこまでクエリーを効率的に処理できているだろうか」という疑問が湧いた時には、「とりあえずEXPLAINで」となりますよね。 EXPLAINのマニュアルはこちらに、EXPLAIN の出力結果のカラムの意味についてはこちらに記載があります。 EXPLAINの何を見るか たとえば、次のような重いクエリーがあったとしましょう。 mysql> SELECT COUNT(some_column) FROM some_table WHERE some_column = xxx; +

    SQL実行計画の疑問解決には「とりあえずEXPLAIN」しよう
    mozy_ok
    mozy_ok 2019/05/31
  • csvqを使ってVimの中で簡易SQLを使えるようにしてみた | DevelopersIO

    はじめに こんにちは、平野です。 データベースに入っていないcsvデータに対して手元でSQLを実行するアプリとしてcsvqがあります。 小さなデータでの確認など色々と重宝しています。 今回はこれをVimのバッファにあるデータに対して実行することでちょっとだけラクできるようなプラグインを作ってみました。 なお、今回は複数テーブルのことは一切忘れております。 csvq自体は複数テーブルにも対応しているので、いずれ対応できればとも思いますが、 まずは単一テーブルの操作に限定しています。 使い方 実行前 Vimで以下のように、クエリとデータを用意します。 (実際に実行する場合は#以降の文章を削除してください) -- -d '\t' # 先頭の"-- "の後にcsvqのオプションを書く select * where colA = 'reiwa' # SQL文を書く。fromは書かない ;------

    csvqを使ってVimの中で簡易SQLを使えるようにしてみた | DevelopersIO
  • Geeks Tech Stack

    Introduction A database is an essential part of building a software system which used to store and read data efficiently. Here, We are going to discuss some architectural details of database implementation by using an early version of SQLite. SQLite is a small database application which used in millions of software and devices. SQLite invented by D.Richard Hipp in August 2000. SQLite is a high per

    Geeks Tech Stack
    mozy_ok
    mozy_ok 2019/03/18
    SQlite
  • SQL Server Management Studio でテーブルのデザインを変更できるようにする - ぐるぐる~

    いつも忘れるのでメモ。 SQL Server 2008 の SQL Server Management Studio では、テーブルのデザインを変更しようとしても、 変更の保存が許可されていません。行った変更には、次のテーブルを削除して再作成することが必要になります。再作成できないテーブルに変更を行ったか、テーブルの再作成を必要とする変更を保存できないようにするオプションが有効になっています。 なんてエラーが出て出来ない場合がある。 これを回避するためには、 メニューから「ツール」を選ぶ 「オプション」を選ぶ 左側のツリーから「デザイナ」を選ぶ 右側の「テーブル オプション」から「テーブルの再作成を必要とする変更を保存できないようにする」のチェックを外す とすれば、出来るようになる。

    SQL Server Management Studio でテーブルのデザインを変更できるようにする - ぐるぐる~
  • 関係データベースの第1正規形はナンセンス - 檜山正幸のキマイラ飼育記 (はてなBlog)

    一昨日の「主キー/外部キーなんてドーデモイイ」と昨日の「絵で分かる! 主キー/外部キーのアホらしさ」において、主キー/外部キーというのは、いわばメモリ番地とポインターのような、仕掛け・手段が露出しているだけのものだ、と説明しました。仕掛けが露出している結果、概念的には単純なもの(例えば単なる写像)の実現が複雑でしかも恣意的になっています。 今日は正規形、なかでも一番基的な第1正規形の話です。控えめなデイヴィッド君に代わって、ジイサマ(檜山)が批判的に検討しましょう。 アトミックって何ですかぁ? 圏論を使えばどうなる スピヴァックは型システムとデータベースシステムの統合を目指す アトミックって何ですかぁ? 関係データベースである限り、かならず第1正規形になっていることが要求されます。で、第1正規形って何? カラムの値がアトミックであることだと定義されます。アトミック? それ何? まーともか

    関係データベースの第1正規形はナンセンス - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • SQLZoo

    Tutorials: Learn SQL step by step 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

  • Visual Studio Code で、SQL Serverを便利に扱う - SE(たぶん)の雑感記

    今回は趣向を変えて、少し実用的なネタを。 Visual Studio Code(以下、長いのでVSCodeと書く)、皆様お使いでしょうか? 私は日常生活でも、開発現場でもそれなりに使っています。 ただのテキストを書くだけでも、IntelliSenseが働いてくれるので、編集が楽になります。 このブログを書く時のソースコードは、VSCodeで書いて、コピーしています。 あと、既定でマークダウン対応なので、それも使っています。 そういう、ブログを書く人の云々は置いといて。 データベースに接続するには、様々なツールがあります。 よく使うのは、SQL Server Management Studioではなかろうか、と思います。無料だし。 なんと、VSCodeでも、SQL Serverに接続できます! それだけでなく、他のツールを組み合わせることで、VSCodeだけで、いろんなことができるようになり

    Visual Studio Code で、SQL Serverを便利に扱う - SE(たぶん)の雑感記
  • DoctrineMigrationsBundleの使い方について - Symfony Advent Calender 2012 9日目 - プログラミング - THIS IS IT !

    こんにちは。@okapon_ponです。 この記事は Symfony Advent Calender 2012 Day9の記事です。 Symfony界のイケメンさんからバトンを引き継ぎ次に繋ぎたいと思います。 昨日の Day8の記事ではSymfonyユーザー会やそのコミュニティーについてご紹介されています。 この記事では、あまり日語情報のないDoctrineMigrationsBundleについて紹介したいと思います。 マイグレーションとは Railsでは言わずと知れた機能ですね。通常DBテーブルを新規に作成したり、カラムの追加、変更を行うにはSQLを実行するのですが、マイグレーション機能では事前にスクリプトファイル(=マイグレーションファイル)さえ用意しておけばコマンドを実行することでDBスキーマの変更を容易に行うことができます。 DBの変更の度にSQLファイルをコミットして、他の開発

    DoctrineMigrationsBundleの使い方について - Symfony Advent Calender 2012 9日目 - プログラミング - THIS IS IT !
  • パスワードが漏洩しないウェブアプリの作り方 〜 ソルトつきハッシュで満足する前に考えるべきこと

    ■■序論 徳丸さんのスライド「いまさら聞けないパスワードの取り扱い方」に見られるように、昨今、ウェブアプリケーションの設計要件として、サーバ内に侵入された場合でもユーザーのパスワードをできるだけ保護すべきという論調が見受けられるようになってきました。 上掲のスライドでは、その手法としてソルトつきハッシュ化を勧めています。しかしながらスライドに書かれているとおり、ソルトつきハッシュには、複雑なパスワードの解読は困難になるものの、単純なパスワードを設定してしまっているユーザーのパスワードについては十分な保護を提供できないという問題があります。そして、多くのユーザーは適切なパスワード運用ができない、というのが悲しい現実です。 ソルトつきハッシュを使った手法でこのような問題が残るのは、ウェブアプリケーションサーバに侵入した攻撃者がユーザーの認証情報をダウンロードして、認証情報をオフライン攻撃するこ

  • 1