SQL

SQL SERVERでDEFAULT等、制約付きのカラムを削除する

SQL

DEFAULT制約等が付いていると、そのままカラムを削除出来ない まずは制約を削除してからカラムを削除しなければならない 制約をSQLで削除するのは少し手間がかかる DECLARE @TABLE_NAME NVARCHAR(256) DECLARE @COLUMN_NAME NVARCHAR(256) DECLARE @TABLE_ID…

2つのテーブル全件かけ違いでデータを取得したい場合はselect A.id, B.id from A, Bで取れる

ストアドプロシージャでループ2回まわして取得してしまった

truncateはロールバックしないから軽いdeleteはロールバックするから重い

基本

A5:SQL MK-2の強すぎワロタ

SQL

■良い ・軽い ・補完が効く ・コントロール+エンターで実行 ・定義書が出る ・フィルターの入力が楽 ・実行速度が出てる ・どのDBにも簡単に繋がる■悪い ・見た目がダサい ・アイコンが分かりにくい ・表記名の中に「:」が入ってて発音しにくいA5 SQL Mk-2

ER図はDBを設計してから作るのではなく、ER図でDBを設計するべき

DB設計してからツールでER図を作って出来た資料は総じて分かりにくい

レスポンスが遅い画面はSQLを抜き出してexplainしてインデックスを貼る

インデックスは偉大だった

joinされたテーブルへのインデックスの貼り方

テーブル1 column1 column2 column3 column4 column5 テーブル2 columnA columnB columnC columnD columnE SELECT * FROM テーブル1 as 1 INNER JOIN テーブル2 as 2 ON 1.column3 = 2.columnA AND 1.column4 = 2.columnB AND 1.column5 = …

SQL文を整形し直してくれるDMLBreakerが素晴らしすぎる

改行なし1000文字以上のログ出力されたSQL文も これさえあれば一瞬で見やすくなる かなり時間節約に繋がりますWeb上で見やすいSQLに整形する「SQL整形ツール DML Breaker」

postgresのchar型(bpchar型)は固定長なので余白には空白文字が入る

固定長の型に任意の長さの文字列を入れることは出来ない

mysqlは素直、postgersは親切、sql serverは論外

mysqlは良いSQLに対してパフォーマンスが高いが 悪いSQLに対してはパフォーマンスが悪い postgresは悪いSQLに対してもなめらかに対応する sql serverは論外らしい

データベース界の神、ジム・グレイ

トランザクション処理 概念と技法 上 下 神の著書を読まなくてはならない

表における行を、タプル(tuple)

SQL

テーブルをタプルの集合としてみて論ずるとき,テーブルのことをリレーションという。 リレーショナル・データベースの概要より タプルじゃない・・かな?

副問い合わせテーブルはインデックスが無いから遅くなる

SQL

voice_artist(声優テーブル) id name charactor(キャラテーブル) charactor_id charactor_name fighting_power voice_artist_id SELECT a.id,a.name FROM artist AS a JOIN ( SELECT voice_artist_id, sum(fighting_power) AS sumpower FROM charactor G…