MySQLを最適化するためのテクニック

3834 ワード

ダンプファイルの編集を避ける
Mysqldumpが作成したダンプファイルはもともと無害ですが、編集を試みやすいです.しかし、いかなる場合でもこれらのファイルを修正しようとするのは危険であることが証明されていることを知っておくべきだ.これらのファイルの変更を直感的に見ると、データベースが破損し、システムが劣化します.システムをトラブルから守るためには、MySQLダンプファイルの編集を避けなければなりません.
MyISAMブロックサイズ
多くの開発者はこの事実を忘れており、ファイルシステムには効率的な稼働を保証するために大きなMyISAMブロックが必要になることが多い.多くの開発者はブロックサイズの設定を知らない.MYIファイルはmyisam_に保存されています.block_sizeの設定では、この設定項目を使用して大きなブロックサイズを変更できます.MyISAMブロックサイズのデフォルト値は1 Kであり、現在のほとんどのシステムの適切な設定ではない.したがって,開発者はそれに適応する値を指定することを考慮すべきである.
Delay_を開くKey_Write
システムのクラッシュ時にデータベースが破損しないようにdelay_key_writeのデフォルトはオフです.もしそうなら、なぜトップに置いて開くのかと聞かれるかもしれません.データベースがMyISAMキーファイルを書くたびにこのファイルをブラシするのを防止する上で必要です.それを開くことで、開発者は多くの時間を節約することができます.MySQLの公式マニュアルを参照して、あなたのバージョンを開く方法を理解してください.
Joins(テーブル接続)
インデックスの作成と同じカラムタイプの使用:join(テーブル接続)操作はMysqlで最適化できます.アプリケーションにjoin操作がたくさんある場合は、同じカラムタイプのjoinを作成することで最適化できます.インデックスの作成は、アプリケーションを高速化する別の方法です.クエリーの変更は、所望のクエリー結果を取り戻すのに役立ちます.
WHERE従文の最適化
1行のMySQLを検索してもテーブル全体が検索されるので、結果が1つしか必要ない場合はlimitを1に設定することをお勧めします.これにより、システムがテーブル全体を検索することを回避でき、必要に応じたレコードをできるだけ早く見つけることができます.
SelectクエリでExplainキーを使用する
特定のクエリーに関連するいくつかの助けを望んでいるに違いありません.Explainキーワードはこの点で非常に役立ちます.クエリーが何をしたのかを求めるときに具体的な詳細を提供します.たとえば、複雑なjoinクエリーの前にExplainキーワードを入力すると、多くの有用な資料が得られます.
クエリー・キャッシュを使用したクエリーの最適化
MySQLのクエリーキャッシュはデフォルトで有効です.これは、キャッシュがクエリーの迅速な実行に役立つためであり、キャッシュは同じクエリーで複数回実行できます.キーワードの前に現在の日付、CURRDATEなどのPHPコードを追加してクエリーをキャッシュし、この機能を有効にします.
スタックトラッキングによる分離Bugの使用
各種バグはstack_をご利用いただけますtrace隔離.空のポインタは特定のコードを破壊するのに十分で、開発者はこのような能力があることを知っています.スタックトラッキングの使用の詳細を理解し、コード内でバグを回避します.
SQL_の設定MODE
列挙のタイプはいつも疑問に思っています.フィールドには複数の可能な値がある可能性があります.これらの可能な値には、指定した値とnullが含まれています.符号化時に多くの問題が発生し、コードが正しくないと警告されます.簡単な解決策はSQL_を設定することですMODE.
   

   //Start mysqld with 
  
    $�Csql-mode=”modes”
    //or
    $sql-mode=”modes” (my.ini �C Windows / my.cnf �C Unix)
    //Change at runtime, separate multiple modes with a comma
    $set [GLOBAL|SESSION] sql_mode='modes'
    //TRADITIONAL is equivalent to the following modes:
    STRICT_TRANS_TABLES, STRICT_ALL_TABLES, NO_ZERO_IN_DATE, ERROR_FOR_DIVISION_BY_ZERO, and NO_AUTO_CREATE_USER

Rootパスワードの変更
rootパスワードの変更は、特定の設定に不可欠です.変更コマンドは次のとおりです.
   

   //Straightforward MySQL 101 
  
    $mysqladmin -u root password [Type in selected password]
    //Changing users ROOT password
    $mysqladmin -u root -p [type old password] newpass [hit enter and type new password. Press enter]
    //Use mysql sql command
    $mysql -u root -p
    //prompt “mysql>” pops up. Enter:
    $use mysql;
    //Enter user name you want to change password for
    $update user set password=PASSWORD (Type new Password Here) where User = ‘username';
    //Don't forget the previous semicolon, now reload the settings for the users privileges
    $flush privileges;
    $quit

MySQL Dumpコマンドでデータベースをバックアップする
開発者は、データベースのバックアップの重要性を知っており、システムに重大な障害が発生した場合に救命の役割を果たすことができます.
最も簡単なデータベースのバックアップ方法

   $mysqldump �Cuser [user name] �Cpassword=[password] [database name] > [dump file] 
 

//「-u」、「-p」を略して「user」と「password」の代わりに書くこともできます
//複数のデータベースを1つのファイルにインポート後にエクスポートするデータベースの名前を追加する場合:
 

   mysqldump �Cuser [user name] �Cpassword=[password] 
  
[first database name] [second database name] > [dump file]

//多くのデータベースは順序バックアップ機能を提供しており、すべてのデータベースをバックアップするには--all-databasesパラメータを追加する必要があります.コマンドラインが気に入らない場合は、Sourceforgeからautomysqlbackupをダウンロードしましょう.
CONFIGの構成の調整
PERLスクリプトMySQL Tunerは、データベースのパフォーマンスを最適化するもう一つの強力なツールであり、MySQLの構成を複数の調整と変更するのに役立ちます.このプロジェクトの公式サイトにアクセスして、それをさらに理解することができます.