LoginSignup
0
0

mysql基本

Last updated at Posted at 2023-07-03

設計やチューニングで注意したこと。


実装で起こりがちなこと
mysqlでの処理が遅い場合のあるある

1.スロークエリログの調査

2.nullが多すぎる

3.テーブルにindexをはれていない

4.クエリの数が多い
    ⇨join or EagarLoadを行う。

5.nullを極力使用しない
 ⇨is not null

6.パラメータチューニング
 ⇨MySQL診断ツール (MySQL Tuner) を使う

7.EXPLAINを使って、JOIN時にどちらのテーブルが駆動表でどちらのテーブルが内部表になっているか調べる
joinを正しく使用する

上記のチューニングとは別の内容にはなりますが・・・

※基本的にフォームが空のままデータを投入することはよろしくないと思っております。
実装時にプルダウンメニューで最低限入力保管をすることでバリデーションをかける等でカバーすることなども必要かもしれません。

もしくは設計段階できちんとした設計であるかなど。
チューニング自体も大切ですが、その前に渡された側が苦労しないようなスケジュールや実運用になったときに現実的に無理がないのか?
等も考慮する必要があるかと思います。

トランザクションに関する知識

トランザクション開始~終了までの一連の処理のこと。

トランザクションを終了するときは、一連の処理を確定させる(コミット)」
破棄する(ロールバック)」

SQLインジェクション

アプリケーションの脆弱性により本来の意図ではない不当な「SQL」文が作成されてしまい、「注入(injection)」されることによって、データベースのデータを不正に操作される攻撃
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0