·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...