如果不滿意mysql提供的優化方案,可以使用一些查詢提示來控制優化器的行為
1.high_priority和low_priority
決定訪問同乙個表的語句相對與其他語句的優先順序,根據這兩個提示伺服器對訪問表的佇列進行處理,在有表鎖的儲存過程中有效,但在有細粒度鎖或者併發控制的儲存引擎上無效
2.delayed
應用於insert和update,語句立刻返回並將待插入的列放入緩衝區,在表空閒時插入。
3.straight_join
強制聯接順序。
4.sql_small_result和sql_big_result
提示優化器在group by 和distinct查詢中何時以及如何使用臨時表
5.sql_buffer_result
將結果放在臨時表中,並盡快釋放表鎖。
6.sql_cache和sql_no_cache
是否使用查詢快取。
7.sql_calc_found_rows
在有limit子句的時候計算完整的結果集。可以通過found_rows()來取得它得到的行數。
8.for update 和 lock in share mode
控制鎖定,預先鎖定匹配行,只針對有行級鎖的儲存引擎
9.use index,ignore index, force index
是否使用或忽略索引
10.系統變數optimizer_search_depth和optimizer_prune_level
用於控制優化器在選擇執行計畫,合理的設定可以加快選擇的速度
mysql效能優化 伺服器優化(筆記四)
伺服器的硬體效能直接決定著mysql資料庫的效能,硬體的效能瓶頸,直接決定mysql資料庫的執行速度和效率。需要從以下幾個方面考慮 1 配置較大的記憶體。足夠大的記憶體,是提高mysql資料庫效能的方法之一。記憶體的 io比硬碟快的多,可以增加系統的緩衝區容量,使資料在記憶體停留的時間更長,以減少磁...
mysql優化筆記
首先檢視sql執行計畫,確定執行過程是否用到索引,是否全表掃瞄等 例 explain select from servers1 子查詢,in 和 exists的區別 in主要先執行內查詢後與外表比較,exists先查詢外表後與內錶比較判斷是否滿足條件,具體查詢效率取決於查詢條件內錶資料與外表資料大小...
如何控制IE的行為
下面演示乙個控制ie進行重新整理的方法 第一步 建立 shdocvw ishellwindowsptr m spshwinds if m spshwinds null 第二步 獲取當前所有開啟的ie視窗 if m spshwinds 第三步 重新整理ie視窗 pbrowser refresh pbr...