Mysql は非常に優れた無料データベースとして広く利用されており、通常私たちが開発するプロジェクトのデータが 100 万を超えることはほとんどありません。最近、私は数百万のデータの場合の mysql の最適化に関する詳細な研究に多くの時間を費やしました。たくさんの問題に遭遇して解決したので、それを皆さんと共有したいと思います。貴重なご意見大歓迎です!
1. 100 万レベルのデータ msql テスト環境の紹介
mysql は count(*) を使用して、300 万個のデータの総数をクエリします。データ (myisam エンジン) 条件 (インデックス作成が正しく設定されている) は正常に動作します。頻繁に読み取られるデータの場合は、myIsam エンジンを使用することをお勧めします...
詳細については、「数百万のデータ msql テスト環境の紹介」
# をクリックしてください。 #2、数百万のデータの下での MySQL ページングの問題
私たちは開発プロセス中にページングをよく使用しますが、その中核となるテクノロジーはデータの読み取りに制限を使用することです。ページングに制限を使用するテスト プロセス中に、次のデータが取得されました。select * from news order by id desc limit 0,10 耗时0.003秒 select * from news order by id desc limit 10000,10 耗时0.058秒 select * from news order by id desc limit 100000,10 耗时0.575秒 select * from news order by id desc limit 1000000,10 耗时7.28秒
数百万のデータ下での MySQL ページングの問題 」
3 をクリックしてください。数百万未満のデータmysql 条件付きクエリとページング クエリに関する注意事項
前のセクション「数百万のデータによる Mysql ページングの問題」に引き続き、クエリ条件を追加します。スピード! !最初のセクション「数百万のデータに対する MySQL データ テスト環境の概要」の知識を使用して最適化します...詳細については、「数百万のデータの下での mysql 条件付きクエリとページング クエリに関する注意事項」を参照してください。
"4. mysql ストレージ エンジン myIsam と innodb の違い
MySQL にはさまざまなストレージ エンジンがあり、そのうちの 2 つは MyISAM と InnoDB です。もの。これら 2 つのエンジンに関する基本概念をいくつか紹介します (詳細な紹介ではありません)。
MyISAM は MySQL のデフォルトのストレージ エンジンです。従来の ISAM タイプに基づいており、全文検索をサポートしていますが、トランザクションセーフではなく、外部キーをサポートしていません。各 MyISAM テーブルは 3 つのファイルに保存されます: frm ファイルはテーブル定義を保存し、データ ファイルは MYD (MYData)、インデックス ファイルは MYI (MYIndex)...クリックして詳細を確認します: "mysql storage エンジン myIsam と innodb の違い
>>ほとんどの MySQL サーバーではクエリ キャッシュが有効になっています。これはパフォーマンスを向上させる最も効果的な方法の 1 つであり、MySQL データベース エンジンによって処理されます。多数の同一のクエリが複数回実行されると、これらのクエリ結果はキャッシュに配置されるため、後続の同一のクエリはテーブルを操作する必要がなく、キャッシュされた結果に直接アクセスできます...
詳細については、クリックしてください: "MySQL パフォーマンス最適化に関するいくつかの経験
"