总结MYSQL的优化_MySQL
碰到过好几次这样的题目,可每次都不能答的完全正确.
现在大概列出如下:(忘各位补充)
1.数据库的设计
尽量把数据库设计的更小的占磁盘空间.
1).尽可能使用更小的整数类型.(mediumint就比int更合适).
2).尽可能的定义字段为not null,除非这个字段需要null.
3).如果没有用到变长字段的话比如varchar,那就采用固定大小的纪录格式比如char.
4).表的主索引应该尽可能的短.这样的话每条纪录都有名字标志且更高效.
5).只创建确实需要的索引。索引有利于检索记录,但是不利于快速保存记录。如果总是要在表的组合字段上做搜索,那么就在这些字段上创建索引。索引的第一部分必须是最常使用的字段.如果总是需要用到很多字段,首先就应该多复制这些字段,使索引更好的压缩。
6).所有数据都得在保存到数据库前进行处理。
7).所有字段都得有默认值。
8).在某些情况下,把一个频繁扫描的表分成两个速度会快好多。在对动态格式表扫描以取得相关记录时,它可能使用更小的静态格式表的情况下更是如此。
2.系统的用途
1).尽量使用长连接.
2).explain 复杂的SQL语句。
3).如果两个关联表要做比较话,做比较的字段必须类型和长度都一致.
4).LIMIT语句尽量要跟order by或者 distinct.这样可以避免做一次full table scan.
5).如果想要清空表的所有纪录,建议用truncate table tablename而不是delete from tablename.
6).能使用STORE PROCEDURE 或者 USER FUNCTION的时候.
7).在一条insert语句中采用多重纪录插入格式.而且使用load data infile来导入大量数据,这比单纯的indert快好多.
8).经常OPTIMIZE TABLE 来整理碎片.
9).还有就是date 类型的数据如果频繁要做比较的话尽量保存在unsigned int 类型比较快。
3.系统的瓶颈
1).磁盘搜索.
并行搜索,把数据分开存放到多个磁盘中,这样能加快搜索时间.
2).磁盘读写(IO)
可以从多个媒介中并行的读取数据。
3).CPU周期
数据存放在主内存中.这样就得增加CPU的个数来处理这些数据。
4).内存带宽
当CPU要将更多的数据存放到CPU的缓存中来的话,内存的带宽就成了瓶颈.

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック

インターネットの普及とアプリケーション シナリオの増加に伴い、データベース設計は非常に重要な問題になっています。データベース設計において、冗長フィールドは非常に重要な問題です。冗長フィールドとは、データベースの設計時に表示される重複フィールドまたは不要なフィールドを指します。冗長フィールドはクエリの効率と速度をある程度向上させることができますが、ストレージ領域を無駄にし、メンテナンスの難易度を高め、さらにはデータの一貫性やセキュリティに影響を与えることもあります。したがって、PHP プログラミングでは、冗長フィールドによって引き起こされる問題を解決するには、特定のベスト プラクティスに従う必要があります。

MongoDB テクノロジーの開発で遭遇するデータベース設計問題の解決策の探索 要約: ビッグ データとクラウド コンピューティングの急速な発展に伴い、データベース設計はソフトウェア開発において特に重要です。この記事では、開発中に遭遇する一般的なデータベース設計の問題について説明し、具体的なコード例を通じて MongoDB ソリューションを紹介します。はじめに: ソフトウェア開発プロセスでは、データベース設計が重要な役割を果たします。従来のリレーショナル データベースには、大規模なデータを処理する際のパフォーマンスとスケーラビリティの問題がありました。そしてMongoD

Golang は Google が開発したプログラミング言語で、その使いやすさ、優れたパフォーマンス、クロスプラットフォーム機能により、最新の Web アプリケーション開発で人気が高まっています。 Web アプリケーション開発において、データベース設計は非常に重要な部分です。この記事では、Golangを使ってWebアプリケーションを開発する際のデータベース設計の実践方法を紹介します。データベースの選択 まず、適切なデータベースを選択する必要があります。 Golang は、MySQL、Po などのさまざまなデータベースをサポートしています。

PHP と MySQL は、幅広いアプリケーションに対応する強力な組み合わせです。インターネット業界では、PHP と MySQL がテクノロジー スタックの標準構成となっており、多数の Web サイト、Web アプリケーション、バックエンド管理システム、その他のアプリケーションがこの組み合わせを採用しています。この記事では、PHP および MySQL データベースの設計とアプリケーションを検討し、いくつかのベスト プラクティスを紹介します。 1. PHP と MySQL データベースの利点 PHP は、幅広いアプリケーション シナリオを備えたオープン ソース、クロスプラットフォーム、サーバーサイド Web プログラミング言語です。 MySQL は、

PHP で製品の複数仕様 SKU のデータベース設計を実装する方法 電子商取引プラットフォームでは、製品仕様は非常に重要な概念です。製品仕様は、サイズ、色、重量など、製品のさまざまな属性や特性として理解できます。実際のアプリケーションでは、さまざまな仕様に対して、組み合わせごとに異なる価格、在庫、写真、その他の情報を設定する必要があることがよくあります。そのためには、製品仕様と関連情報を保存および管理するための適切なデータベース構造を設計する必要があります。この記事では、PHP で製品のマルチ仕様 SKU を実装する方法を紹介します。

データベース設計における MySQL 複合主キーの応用の詳細説明 MySQL 複合主キーとは、複数のフィールドで構成される主キーを指し、これらのフィールドの値を組み合わせることでレコードを一意に識別します。データベース設計では、特にエンティティを一意に識別する必要がある場合に、複合主キーが広く使用されています。この記事では、MySQL 複合主キーの概念、設計原則、具体的なコード例を詳しく紹介します。 1. MySQL 複合主キーの概念 MySQL では、主キーはテーブル内のデータの各行を一意に識別するために使用されるフィールドです。

手順: 1. 要件を収集および分析してデータ ディクショナリとデータ フロー図を取得する; 2. ユーザー要件を合成、要約、および抽象化して概念モデルを形成する; 3. 概念構造をデータ モデルに変換する; 4. 物理構造を設計するデータベースの構築、 5. データベースの確立、アプリケーションのコンパイルとデバッグ、データベースへのデータの編成 6. データベース システムの評価、調整、変更。

MySQL データベースの設計: 注文システムのメニュー リスト はじめに: ケータリング業界では、注文システムの設計と実装が非常に重要です。中心となるデータ テーブルの 1 つであるメニュー テーブルについて、この記事では、オーダリング システムの機能をサポートする効果的なメニュー テーブルの設計と作成方法を詳しく紹介します。 1. 要件分析 メニューリストを設計する前に、システムの要件と機能を明確にする必要があります。注文システムでは、メニュー テーブルに、料理名、価格、分類、説明など、各料理に関する関連情報を保存する必要があります。さらに、食器についても考慮する必要があります
