幾個我能想到的mysql 優化的點

2021-06-05 12:49:07 字數 793 閱讀 7914

1) mysql將臨時檔案儲存在**

在mysql 5.1中,「—tmpdir」選項可被設定為數個路徑的列表,以迴圈方式使用。在unix平台上,路徑用冒號字元「:」隔開,在windows、netware和os/2平台上,路徑用分號字元「;」隔開。注意,為了有效分布負載,這些路徑應位於不同的物理磁碟上,而不是位於相同磁碟的不同分割槽中。

如果mysql伺服器正作為複製從伺服器使用,不應將「--tmpdir」設定為指向基於記憶體的檔案系統的目錄,或當伺服器主機重啟時將清空的目錄。對於複製從伺服器,需要在機器重啟時仍保留一些臨時檔案,以便能夠複製臨時表或執行load data infile操作。如果在伺服器重啟時丟失了臨時檔案目錄下的檔案,複製將失敗。

mysql會以隱含方式建立所有的臨時檔案。這樣,就能確保中止mysqld時會刪除所有臨時檔案。使用隱含檔案的缺點在於,在臨時檔案目錄所在的位置中,看不到占用了檔案系統的大臨時檔案。

進行排序時(order by或group by),mysql通常會使用1個或多個臨時檔案。所需的最大磁碟空間由下述表示式決定:

(length of what is sorted + sizeof(row pointer))
* number of matched rows
* 2
「row pointer」(行指標)的大小通常是4位元組,但在以後,對於大的表,該值可能會增加。

對於某些select查詢,mysql還會建立臨時sql表。它們不是隱含表,並具有sql_*形式的名稱。

alter table會在與原始表目錄相同的目錄下建立臨時表。

mysql萬能 Mysql的萬能優化方法

在命令列執行 1.檢視優化器狀態 show variable like optimizer trace 2.會話級別臨時開啟 set session optimizer trace enabled on end markers in json on 3.設定優化器追蹤的記憶體大小 set optim...

MySQL幾個簡單SQL的優化

最近在做專案的時候,遇到了一些大資料量的操作,有大批量的crud的操作,一開始的實現的方案經過效能測試,發現效能並不是很好,然後開始審查 對相關可以提公升效能的操作進行了優化,這裡分享給大家。為模擬執行場景,我這裡建了乙個表,並往裡面新增了300w條資料,表結構如下 create table tb ...

優化mysql效能的幾個引數的介紹

1 back log 要求 mysql 能有的連線數量。當主要mysql執行緒在乙個很短時間內得到非常多的連線請求,這就起作用,然後主線程花些時間 儘管很短 檢查連線並且啟動乙個新執行緒。back log 值指出在mysql暫時停止回答新請求之前的短時間內多少個請求可以被存在堆疊中。只有如果期望在乙...