setup_actors 資料表包含判斷是否啟用新前景伺服器執行緒(與用戶端連線相關聯的執行緒)的監控和歷史事件記錄的資訊。此資料表預設的最大大小為 100 列。若要變更資料表大小,請在伺服器啟動時修改 performance_schema_setup_actors_size 系統變數。
對於每個新的前景執行緒,Performance Schema 會將執行緒的使用者和主機與 setup_actors 資料表的列進行比對。如果該資料表的列符合,則會使用其 ENABLED 和 HISTORY 資料行值來分別設定執行緒的 threads 資料表列的 INSTRUMENTED 和 HISTORY 資料行。這使得可以依據每個主機、使用者或帳戶(使用者和主機組合)選擇性地套用檢測和歷史事件記錄。如果沒有符合的項目,執行緒的 INSTRUMENTED 和 HISTORY 資料行會設定為 NO。
對於背景執行緒,沒有相關聯的使用者。INSTRUMENTED 和 HISTORY 預設為 YES,且不會查詢 setup_actors。
setup_actors 表格的初始內容會比對任何使用者與主機的組合,因此預設會為所有前景執行緒啟用監控和歷史事件收集功能。
mysql> SELECT * FROM performance_schema.setup_actors;
+------+------+------+---------+---------+
| HOST | USER | ROLE | ENABLED | HISTORY |
+------+------+------+---------+---------+
| % | % | % | YES | YES |
+------+------+------+---------+---------+關於如何使用 setup_actors 表格來影響事件監控的資訊,請參閱第 29.4.6 節,「依執行緒預先篩選」。
對 setup_actors 表格的修改只會影響修改後建立的前景執行緒,不會影響現有的執行緒。若要影響現有的執行緒,請修改 threads 表格列的 INSTRUMENTED 和 HISTORY 欄位。
setup_actors 表格有這些欄位:
HOST主機名稱。這應該是個常值名稱,或是
'%'代表「任何主機」。USER使用者名稱。這應該是個常值名稱,或是
'%'代表「任何使用者」。ROLE未使用。
ENABLED是否為符合該列的前景執行緒啟用檢測。值為
YES或NO。HISTORY是否為符合該列的前景執行緒記錄歷史事件。值為
YES或NO。
setup_actors 表格有這些索引:
主索引鍵位於 (
HOST,USER,ROLE)
允許對 setup_actors 表格執行 TRUNCATE TABLE。它會移除這些列。