---
# System prepended metadata

title: pair-1a レビュー 2021/03/18
tags: [ペアレビュー]

---

# pair-1a レビュー 2021/03/18

###### tags: `ペアレビュー`

railsのActiveRecord 実際にデータを取り出すときにクエリが発行される -> コードを追ってどんなクエリが発行されているか確認しなければいけない

- `count(*)` よりも `count(primaryKey)` の方がインデックスが聞くので早そう?
- 全体の10%をとるときにインデックスがきく
- カーディナリ

1996年に3回以上注文

- between, strftime
    - betweenの方が汎用性が高そう？
    - (?)クエリの採用は実行速度で決める？ -> nakano-san
        - データ分析なら可読性を意識する？
- 日付を扱うときは型を意識する
- nakanoさん
    - like 曖昧検索にしか使いたくない
    - 前方一致にしかインデックスが聞かない
    - 自由度が高い
- date()を使っている理由
    - oracleの本によると、日付 -> 文字列への変換は暗黙的に行ってくれている
    - ただ、少し遅くなる
    - orderDate は date型
- nakanoさんのdate()変換は必要ないかも？
- webSQLはsqLiteと同じ文法っぽい?
    - oracle between A and B -> B含まない
    - sqlite A and B -> B含む
- DBがパフォーマンスのネックになりがち
    - データの増え方によって効果的なインデックスが変わる
- (?)70回以上運送会社でエラーが出た -> ishihara san
    - UPDATEの実行順序
    - FROM
- 二つ以上テーブル出てくるときは基本的にテーブル名を明示した方が良さそう
- (?)日付操作の時どうしてる? -> furukawasan
- 売り上げの高い順番にcountry
    - nakanosan集合/計算の順序を意識
    - 計算の順番を意識した方がいい
    - (?)全てJOINしてからとどっちがいい? -> nakanosan
        - 細かくJOINした方が、JOINの回数が少なくなってよさそう？
- 最も多くの注文詳細のクエリ
    - furukawasan
    - 複数人いる場合に対応すると、サブクエリが必要になった
    - 課題文的に、一件だけで良さそう？
    - 一件を取得する場合、order by + limit より max で絞る方が良さそう
- (?)別名は使わない方がいい？-> ishihara
    - JOINのときも別名使うし使っても良さそう？
    - Oracleでエラーになるなら統一して使わないようにした方がよさそう？
    - データベースは頻繁に変わらないので、気にしなくてもいい？
- (?)SQLのドキュメント -> furukawa