ホームページ >データベース >mysql チュートリアル >MySQL 最適化 - Procedure_Analyse はテーブル構造を最適化します
1つ。はじめに
PROCEDURE ANALYSE()。テーブル構造を最適化する際の分析ステートメントの補助参照として使用できます。
このステートメントを使用すると、MySQL はフィールドとその実際のデータの分析を支援し、いくつかの有用な提案を提供します。
【これらの提案は、テーブルに実際のデータがある場合にのみ役に立ちます。いくつかの大きな意思決定を行うには、基礎となるデータが必要だからです。 ]
たとえば、主キーとして INT フィールドを作成したが、データがあまりない場合、PROCEDURE ANALYSE() はこのフィールドの型を MEDIUMINT に変更することを推奨します。または、VARCHAR フィールドを使用していて、データが少ないため、ENUM に変更するように求めるメッセージが表示される場合があります。 提案。これらの提案はすべて、十分なデータがなく、意思決定が十分に正確ではないために可能になります。
テーブルを設計するとき、特定のフィールドにどの型を使用するかを常に考えることがあります。初心者レベルの PHPer はかなりの経験を持っており、実際に、後のチューニング中にプロシージャanalyze() を使用して、テーブル構造を分析し、MySQL によって与えられたフィールドの提案を確認して、いくつかの調整を行うこともできます。実際の状況に基づいてフィールドの種類 (これはすでに非常に些細なことですが、一般的なアプリケーションではここまで詳細に説明することはできず、経験に基づいて設計したデータベースは基本的にアプリケーションを満たすことができます。
2. たとえば
(max_elements,max_memory)
max_elements: 各列の非重複値の最大値を指定します。この値を超えると、MySQL は
max_memory を推奨しません。 : 各列の重複しない値をすべて検索します。
mysql> select * from br_task プロシージャanalyze(1,256) G; であることがわかります。
br_Task.task_name フィールド、列の最大値: Korea-softarticle-national-silver を参照
最小長: 3 バイト
最大長: 52 バイト
平均長: 24.1852
最適化提案: フィールドのデータ型を
VARCHAR(52) NOT NULL に変更してください
注意を払うこれらは単なる提案です。これらの提案は、テーブル内のデータが増えるにつれて正確になります。最終決定を下すのはあなたであることを忘れないでください。
上記は、Mysql optimization-Procedure_Analyse 最適化テーブル構造の内容です。さらに関連する内容については、PHP 中国語 Web サイト (www.php.cn) に注目してください。