MySQL table_cache优化(二)_MySQL

Jun 01, 2016 pm 01:46 PM
バッファ 表面

bitsCN.com table_cache指定表高速缓存的大小。每当MySQL访问一个表时,如果在表缓冲区中还有空间,该表就被打开并放入其中,这样可以更快地访问表内容。通过检查峰值时间的状态值Open_tables和Opened_tables,可以决定是否需要增加table_cache的值。如果你发现open_tables等于table_cache,并且opened_tables在不断增长,那么你就需要增加table_cache的值了(上述状态值可以使用SHOW STATUS LIKE ‘Open%tables’获得)。注意,不能盲目地把table_cache设置成很大的值。如果设置得太高,可能会造成文件描述符不足,从而造成性能不稳定或者连接失败。
www.itcankao.cn
首先是MyISAM: 
从官方网站上面看,每个线程会独自持有一个数据文件的文件描述符,而索引文件的文件描述符是公用的。当table cache不够用的时候,MySQL会采用LRU算法踢掉最长时间没有使用的表。如果table_cache设置过小,MySQL就会反复打开、关闭 frm文件,造成一定的性能损失。那么,table_cache设置是不是越大越好呢?从table_cache negative scalability 这篇文章的测试可以看出,如果table_cache设置过大,MySQL将会消耗很多CPU去做 table cache的算法运算(具体是哪个算法目前不清楚,有可能是LRU)。因此table_cache的值一定要设置合理,没事多看一看 opened_tables参数,如果一直增长的话,就需要适当增加table_cache的值了。 
  
接着是InnoDB: 
InnoDB的元数据管理是放在共享表空间里面做的,所以获取表的结构不需要去反复解析frm文件,这是比MyISAM强的地方。即使 table_cache设置过小,对于InnoDB的影响也是很小的,因为它根本不需要反复打开、关闭frm文件去获取元数据。  根据How innodb_open_files affects performance这篇文章的测试可以看出,table_cache和  innodb_open_files的大小对InnoDB效率的影响比较小。但是在InnoDB crash的情况下, innodb_open_files设置过小会影响recovery的效率。所以用InnoDB的时候还是把 innodb_open_files放大一些比较合适。 bitsCN.com

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

ロガーのバッファ サイズ ログの用途 ロガーのバッファ サイズ ログの用途 Mar 13, 2023 pm 04:27 PM

この機能は、開発時に使用される問題分析を容易にするために、使用情報と記録をエンジニアにフィードバックする機能であり、ユーザー自身がアップロード ログを生成することはほとんどないため、ユーザーにとっては役に立ちません。ロギング バッファは、ディスクに書き込まれる REDO ログの変更ベクトルを短期的に保存するために使用される小さな一時領域です。ディスクへのログ バッファーの書き込みは、複数のトランザクションからの変更ベクトルのバッチです。それでも、ログ バッファー内の変更ベクトルはほぼリアルタイムでディスクに書き込まれ、セッションが COMMIT ステートメントを発行すると、ログ バッファーの書き込み操作がリアルタイムで実行されます。

Linux ゼロコピー テクノロジをわかりやすく説明する 6 枚の写真 Linux ゼロコピー テクノロジをわかりやすく説明する 6 枚の写真 Feb 22, 2024 pm 06:40 PM

みなさん、こんにちは。今日は Linux のゼロコピー テクノロジについて話しましょう。 sendfile システム コールをエントリ ポイントとして使用して、ゼロコピー テクノロジの基本原理を深く調査します。ゼロコピーテクノロジーの中心的な考え方は、データ伝送経路を最適化することでメモリ間のデータのコピーを最小限に抑え、データ伝送の効率とパフォーマンスを向上させることです。 1. ゼロコピー技術の紹介 Linux のゼロコピー技術は、データ転送を最適化する技術であり、カーネルモードとユーザーモード間のデータコピー数を減らし、データ転送の効率を向上させます。データ送信のプロセス中、通常、送信を完了する前に、データをカーネル バッファからアプリケーション バッファにコピーし、次にアプリケーション バッファからネットワーク デバイスのバッファにコピーする必要があります。ゼロコピーテクノロジーの利点

MySQL でテーブル データを表示するステートメントを実装するにはどうすればよいですか? MySQL でテーブル データを表示するステートメントを実装するにはどうすればよいですか? Nov 08, 2023 pm 01:40 PM

タイトル: MySQL でテーブル データを表示するためのステートメントと具体的なコード例 MySQL は、あらゆる規模のアプリケーションで広く使用されているオープン ソースのリレーショナル データベース管理システムです。 MySQL では、テーブルデータの表示は非常に基本的な操作ですが、具体的なステートメントとコード例を通して、この操作の実装方法を紹介します。まず、MySQL コマンド ライン ツールを使用してテーブル データを表示するためのステートメントと具体的なコード例を紹介します。 「employees」という名前のテーブルがあるとします。パスは次のとおりです。

Oracle データベースのテーブルに読み取り専用権限を設定するにはどうすればよいですか? Oracle データベースのテーブルに読み取り専用権限を設定するにはどうすればよいですか? Mar 06, 2024 pm 03:03 PM

Oracle データベースでは、テーブルに対する読み取り専用権限の設定は非常に重要な操作であり、データのセキュリティを保護し、誤操作を防ぐことができます。以下では、Oracle データベースのテーブルに読み取り専用権限を設定する方法と、具体的なコード例を紹介します。まず、Oracle データベースでは、ユーザーは承認を通じてテーブルに対するアクセス許可を取得することを理解する必要があります。テーブル権限には、SELECT (クエリ)、INSERT (挿入)、UPDATE (更新)、および DELETE (削除) 操作が含まれます。ここで紹介します

Golang でのファイルの読み取りと書き込みを最適化するためにバッファーを使用する方法は? Golang でのファイルの読み取りと書き込みを最適化するためにバッファーを使用する方法は? Jun 03, 2024 pm 05:51 PM

Golang でのファイルの読み取りおよび書き込みのパフォーマンスは、バッファーを使用することで最適化できます。バッファーには、ディスクから読み取られたデータまたは書き込まれたデータが保存されるため、ディスク操作の数が削減されます。バッファを使用した読み取りおよび書き込み関数の例: readFileBuffered および writeFileBuffered。実際のケース: バッファを使用すると、1 GB ファイルのディスク操作の数を 1,000,000 から 1,024 に減らすことができます。バッファリング テクノロジを使用すると、大きなファイルを処理する際のアプリケーションの効率が向上します。

MySQLを使用してレコメンドシステムテーブルを作成し、レコメンドシステム機能を実装する MySQLを使用してレコメンドシステムテーブルを作成し、レコメンドシステム機能を実装する Jul 02, 2023 am 10:01 AM

ユーザーの好みや行動に基づいてパーソナライズされたコンテンツを推奨するシステムであるレコメンドシステム機能を実装するには、MySQL を使用してレコメンドシステムテーブルを作成します。レコメンデーション システムでは、データベースが重要なコンポーネントであり、ユーザー データ、アイテム データ、ユーザーとアイテムのインタラクション データなどの情報が保存されます。一般的に使用されるリレーショナル データベース管理システムである MySQL を使用して、レコメンド システム テーブルを作成し、レコメンド システムの機能を実装できます。この記事では、MySQL を使用してレコメンデーション システム テーブルを作成する方法を紹介し、コード例を通してそれを示します。

PHPでバッファを閉じるにはどうすればよいですか?よく使用される 2 つの方法を共有します PHPでバッファを閉じるにはどうすればよいですか?よく使用される 2 つの方法を共有します Mar 22, 2023 am 09:30 AM

PHP では、バッファーは出力コンテンツを一時的にメモリーに保管し、すべての PHP スクリプトが実行された後にブラウザーに出力します。この出力方法では、特定の時点で制御不能な問題が発生する可能性があります。たとえば、ページが一定量のデータ コンテンツを動的に出力する必要がある場合、過剰なバッファによりページの応答が遅くなったり、サーバーがクラッシュしたりすることがあります。現時点では、バッファを閉じるのが良い解決策です。

Microsoft コンピュータ ケースの推奨構成リスト - Microsoft コンピュータ ケースの推奨構成リスト Microsoft コンピュータ ケースの推奨構成リスト - Microsoft コンピュータ ケースの推奨構成リスト Dec 28, 2023 am 11:36 AM

Microsoft コンピューター ケースは、コンピューターを保護するために使用されるケースで、保護を強化するだけでなく、装飾的な効果も加えます。自分のコンピュータにパーソナライズされた要素を追加したい人にとって、Microsoft コンピュータ ケースは理想的な選択肢です。 Microsoft コンピュータ ケースの推奨構成表は、Microsoft コンピュータ ケースのさまざまなモデルおよび仕様に対する推奨構成をリストした詳細な表です。マイクロソフトのコンピュータケースの推奨構成表を詳しく紹介し、その一部を説明します. 1. 適用モデル 推奨構成表で最初に考慮する必要があるのは、マイクロソフトのコンピュータケースの適用モデルです。 Microsoft コンピュータ ケースのモデルによってサイズや形状が異なる場合があるため、コンピュータのモデルに応じて適切なケースを選択する必要があります。構成表には、さまざまなモデルに適用できるマイクロコントローラーがリストされています。

See all articles