首頁 資料庫 mysql教程 MySQL table_cache优化(二)_MySQL

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 Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1664
14
CakePHP 教程
1423
52
Laravel 教程
1318
25
PHP教程
1268
29
C# 教程
1248
24
日誌記錄器緩衝區大小日誌有什麼用 日誌記錄器緩衝區大小日誌有什麼用 Mar 13, 2023 pm 04:27 PM

作用是:給工程師們回饋使用資訊與記錄方便分析問題(開發時使用的);由於使用者本身不是經常產生上傳日誌,所以對使用者無用。日誌記錄緩衝區是小型的、用於短期儲存將寫入到磁碟上的重做日誌的變更向量的臨時區域。日誌緩衝區對磁碟的一次寫入是來自多個交易的一批變更向量。即使如此,日誌緩衝區中的變更向量也是接近即時寫入磁碟,當會話發出COMMIT語句時,會即時執行日誌緩衝區寫入操作。

六張圖講清楚Linux零拷貝技術 六張圖講清楚Linux零拷貝技術 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」的表,以下是通

如何實作MySQL中重新命名表的語句? 如何實作MySQL中重新命名表的語句? Nov 08, 2023 pm 12:11 PM

MySQL是一種常用的關聯式資料庫管理系統,它支援重命名表的操作。通常情況下,重新命名表會帶來一定的風險,因此在執行這個操作時應該非常小心謹慎。在本文中,我們將探討如何在MySQL中實作重新命名表的語句,並提供詳細的程式碼範例。在MySQL中,可以使用ALTERTABLE語句來重新命名表。下面是ALTERTABLE重命名語句的基本語法:ALTERTABLEo

如何在 Golang 中使用緩衝區優化文件讀寫? 如何在 Golang 中使用緩衝區優化文件讀寫? Jun 03, 2024 pm 05:51 PM

透過使用緩衝區,可以最佳化Golang中的檔案讀寫效能:緩衝區儲存從磁碟讀取或寫入的數據,從而減少磁碟操作次數。使用緩衝區的讀寫函數範例:readFileBuffered和writeFileBuffered。實際案例:使用緩衝區可將1GB檔案的磁碟操作次數從1000000次減少到1024次。在處理大型檔案時使用緩衝技術可提高應用程式效率。

如何在Oracle資料庫中設定表格的唯讀權限? 如何在Oracle資料庫中設定表格的唯讀權限? Mar 06, 2024 pm 03:03 PM

在Oracle資料庫中,設定表格的唯讀權限是非常重要的操作,可以保護資料的安全性並防止誤操作。以下將介紹如何在Oracle資料庫中設定表格的唯讀權限,並提供具體的程式碼範例。首先,我們需要了解在Oracle資料庫中,使用者透過授權取得對錶的權限。表的權限包括SELECT(查詢)、INSERT(插入)、UPDATE(更新)和DELETE(刪除)等操作。在這裡,我們將介

微軟電腦殼建議設定清單—微軟電腦殼建議設定列表 微軟電腦殼建議設定清單—微軟電腦殼建議設定列表 Dec 28, 2023 am 11:36 AM

微軟電腦殼是用來保護電腦的外殼,它不僅能夠提供額外的保護功能,還能夠增添裝飾效果。對於那些希望為自己的電腦增加一些個人化元素的用戶來說,微軟電腦殼是一個非常理想的選擇。微軟電腦殼推薦配置表是一個詳細的表格,列出了適用於不同型號和規格的微軟電腦殼的建議配置。我們將詳細介紹微軟電腦殼推薦配置表,並對其中的一些方面進行解釋說明1.適用型號在推薦配置表中,首先要考慮的是微軟電腦殼的適用型號。不同型號的微軟電腦殼可能有不同的尺寸和形狀,所以需要根據電腦型號選擇合適的殼。配置表中會列出適用於不同型號的微

php如何關閉緩衝區?兩種常用方法分享 php如何關閉緩衝區?兩種常用方法分享 Mar 22, 2023 am 09:30 AM

在PHP中,緩衝區是將輸出內容暫時儲存在記憶體中,當PHP腳本全部執行完畢後再一並輸出到瀏覽器端。這種輸出方式在某些時候會產生一些不可控的問題,例如當頁面需要動態輸出一定量的資料內容時,緩衝區過大會導致頁面回應緩慢,甚至出現伺服器崩潰的情況。此時關閉緩衝區是一個很好的解決方案。

See all articles