SQLに関して知っておくべきことは2種類あります(これは多くのテクノロジーに当てはまります)。結合、サブクエリ、ユニオンなど、特定の技術的なものがあります。芸術のように、スキルの勾配があるデータベース設計とデータモデリングのように。あなたはそれらのより柔らかいもので時間の経過とともに良くなりますが、それらと「彼らはこのように働く」ことはないので、それらを「知る」ことはありません。
とはいえ、ここに私が行くだろう一般的なレイアウトがあり、私が間違っているかもしれない他の人からのコメント/考えに絶対に開かれています。
初心者
- Where句(in、betweenなど)
- 構文を更新する
- 内側と左側と右側の結合の理解と使用
- 構造を変更および作成するための構文
- 一時テーブルとその使用法
- カーソル
- インデックスの目的は基本的な考え方ですが、その仕組みは異なります
- 外部キーの目的と回避方法の理解(カスケード削除など)
- トランザクションの基本を理解する
- 制約を理解する
中級
- インデックスの機能、クラスター化されたクラスターとクラスター化されていないクラスターの違いなど、ページとそのレイアウト
- サブクエリを理解し、結合や場所でサブクエリを使用することで考えることができます。
- ピボット
- 関連する場合、自分自身でテーブルに参加することを通して考えることができます
- 集約関数を使用してグループバイ経由で複雑なデータレポートを生成できます
- ログの読み取りなどの監視/デバッグ機能で基本的なプロファイリングを実行できます
- OLAPとOLTPの違い、およびOLAP構造をいつ/どこで使用するかを理解する
- トリガーを使用する方法と使用しない方法を知っている
- トランザクションを理解し、それらを階層化して障害を処理し、スタックに追加できます
高度な
- 実行計画を読み取り、クエリのさまざまな部分が実行計画に与える影響を理解できる
- パフォーマンスを損なうことなく、実行ヒントを使用してクエリを調整できます(並列処理ヒント、インデックスヒント、ループヒントなど)。
- トレースをプロファイリングおよび使用して、実世界の負荷下での実行の統計を識別および理解できます
- データ構造がディスク上にあるものを知っている
- パフォーマンスカウンターを使用し、それらを監視することによるデータベースの負荷と動作を理解できます。
- OLAPキューブを設計し、高度なデータマイニングを行う方法を知っている
- トリガーを使用する方法と、最小限のリスクで安全にトリガーを使用する方法を知っている
- レイヤーがあっても分散トランザクションを使用する方法を知っている
私が頭の外から思いつくことができたのはそれだけです。私が見逃した他の人や、間違った場所に何かを置いた場合のコメントを残してください。高度なテクニックの膨大なリストを知っているほどではない