mysql資料庫蛛 MySQL效能優化

2021-10-18 02:10:30 字數 1555 閱讀 1480

·mysql的配置檔案 my.cnf 的優化

配置檔案:

結合my.cnf 檔案,只列出其中 [mysqld] 段落中的內容,其他段落內容對 mysql 執行效能影響甚微,因而姑且忽略。

介紹一些優化引數。

1.[mysqld]

2.port=3306

3.socket=/tmp/mysql.sock

4.skip-external-locking

避免 mysql 的外部鎖定,減少出錯機率增強穩定性。

·key_buffer_size = 16m指定用於索引的緩衝區大小,增加它可得到更好的索引處理效能。16m適用於 512mb記憶體,對於內存在4gb左右的伺服器該引數可設定為256m,依此類推即可。注意:該引數值設定的過大反而會是伺服器整體效率降低!

·max_allowed_packet = 1m

mysql根據此配置會限制 server 接受的資料報大小。

·table_open_cache = 64

指定表快取記憶體的大小。每當mysql訪問乙個表時,如果在表緩衝區中還有空間,該錶就被開啟並放入其中,這樣可以更快地訪問表內容。注意,不能盲目地把table_open_cache設定成很大的值。如果設定得太高,可能會造成檔案描述符不足,從而造成效能不穩定或者連線失敗。 64 適用於 512mb 記憶體,1gb 記憶體則可以設定成 128,依此類推即可。

·sort_buffer_size = 512k

查詢排序時所能使用的緩衝區大小。注意:該引數對應的分配記憶體是每連線獨佔,如果有100個連線,那麼實際分配的總共排序緩衝區大小為100 × 512k = 50mb。 512k 適用於 512mb 記憶體,1gb 記憶體則可以設定成 1m,依此類推即可。

·net_buffer_length = 8k

初始化server 接受的資料報大小,當需要的時候再由 max_allowed_packet 控制增長的大小。注意:該引數值設定的範圍只能為1 – 1024k。

·read_buffer_size = 256k

讀查詢操作所能使用的緩衝區大小。和 sort_buffer_size 一樣,該引數對應的分配記憶體也是每連線獨享。 256k 適用於 512mb 記憶體,1gb 記憶體則可以設定成 512k,依此類推即可。

·ead_rnd_buffer_size = 512k

查詢操作多表所能使用的緩衝區大小。設定較大的值可以有效提公升 order by 的效能。和 sort_buffer_size 一樣,該引數對應的分配記憶體也是每連線獨享。 512k適用於 512mb 記憶體,1gb 記憶體則可以設定成 1m,依此類推即可。

·myisam_sort_buffer_size = 8m

myisam排序所能使用的緩衝區大小。 8m 適用於 512mb 記憶體,1gb 記憶體則可以設定成 16m,依此類推即可。

·max_connections = 256

指定mysql允許的最大連線程序數。如果在訪問時經常出現 too many connections 的錯誤提示,則需要增大該引數值。

注意:該引數預設值為 151,最大可以設定為 100000 這裡建議設定成記憶體的一半,比如 512mb 記憶體就設定成 256,依此類推。

mysql資料庫蛛 MySQL索引認知1

前言 索引是mysql資料庫中很重要的組成部分,也是程式設計師最關注的部分,索引的目的主要在於提高查詢的效率。可以模擬於字典中的目錄。查詢字典中的內容的同時,可以根據目錄查詢資料的存放位置,從而提取到資料。mysql 支援多種儲存引擎,我們只針對innodb下面的b tree索引進行學習 索引的原理...

Mysql資料庫完整性

一 資料完整性的概念 1 目的 為了防止不符合規範的資料進入資料庫,在使用者對資料進行插入 修改 刪除等操作時,dbms自動按照一定的約束條件對資料進行監測,使不符合規範的資料不能進入資料庫,以確保資料庫中儲存的資料正確 有效 相容。2 概念 約束是用來確保資料的準確性和一致性。資料的完整性就是對資...

理解性記憶MySQL資料庫

理解性記憶mysql資料庫 1 什麼是資料庫?本質是檔案儲存系統。可以簡單理解為儲存資料的倉庫。2 為什麼要使用資料庫?方便資料管理。3 什麼是資料庫管理系統?管理資料庫的軟體,比如mysql。4 什麼是關係型資料庫?關係型資料庫就是由二維表及其之間的聯絡組成的乙個資料組織。比如mysql orac...