《MYSQL數據庫MySQL常用HINT分享》要點:
本文介紹了MYSQL數據庫MySQL常用HINT分享,希望對您有用。如果有疑問,可以聯系我們。
MYSQL實例本節內容:
MySQL常用HINT
MYSQL實例1,強制索引 FORCE INDEX
?
MYSQL實例只使用建立在FIELD1上的索引,而不使用其它字段上的索引.
MYSQL實例2,忽略索引 IGNORE INDEX
?
MYSQL實例TABLE1表中FIELD1和FIELD2上的索引不被使用.
MYSQL實例3,關閉查詢緩沖 SQL_NO_CACHE
?
MYSQL實例有一些SQL語句需要實時地查詢數據,或并不經常使用(可能一天就執行一兩次),這樣就需要把緩沖關了,不管這條SQL語句是否被執行過,服務器都不會在緩沖區中查找,每次都會執行它.
MYSQL實例4,強制查詢緩沖 SQL_CACHE
?
MYSQL實例如果在my.ini中的query_cache_type設成2,這樣只有在使用了SQL_CACHE后,才使用查詢緩沖.
MYSQL實例在mysql中,索引與查詢緩沖用的好了,對于mysql 存儲過程或mysql 視圖的操作,也是很有贊助的.
MYSQL實例5,優先操作 HIGH_PRIORITY
HIGH_PRIORITY可以使用在select和insert操作中,讓MYSQL知道,這個操作優先進行.
?
MYSQL實例6,滯后操作 LOW_PRIORITY
LOW_PRIORITY可以使用在insert和update操作中,讓mysql知道,這個操作滯后.
?
MYSQL實例7,延時插入 INSERT DELAYED
?
MYSQL實例INSERT DELAYED INTO,是客戶端提交數據給MySQL,MySQL返回OK狀態給客戶端.而這是并不是已經將數據插入表,而是存儲在內存里面等待排隊.
當mysql有空余時,再插入.
另外,好處在于來自許多客戶端的插入被集中在一起,并被編寫入一個塊.
這比執行許多獨立的插入要快很多.
MYSQL實例缺點是:不能返回自動遞增的ID,以及系統崩潰時,MySQL還沒有來得及插入數據的話,這些數據將會丟失.
MYSQL實例8,強制連接順序 STRAIGHT_JOIN
?
MYSQL實例通過STRAIGHT_JOIN強迫MySQL按TABLE1、TABLE2的順序連接表.
如果認為按自己的順序比MySQL推薦的順序進行連接的效率高的話,就可以通過STRAIGHT_JOIN來確定連接順序.
MYSQL實例9,強制使用臨時表 SQL_BUFFER_RESULT
?
MYSQL實例當查詢的結果集中的數據比較多時,可以通過SQL_BUFFER_RESULT.選項強制將結果集放到臨時表中,這樣便可以很快地釋放MySQL的表鎖(這樣其它的SQL語句就可以對這些記錄進行查詢了),并且可以長時間地為客戶端提供大記錄集.
MYSQL實例10,分組使用臨時表 SQL_BIG_RESULT和SQL_SMALL_RESULT
?
MYSQL實例一般用于分組或DISTINCT關鍵字,這個選項通知MySQL,如果有必要,就將查詢結果放到臨時表中,甚至在臨時表中進行排序.
MYSQL實例SQL_SMALL_RESULT比起SQL_BIG_RESULT差不多,很少使用.
MYSQL實例就分享這些吧,希望對大家學習與掌握mysql數據庫的相關技能,有所贊助吧.
《MYSQL數據庫MySQL常用HINT分享》是否對您有啟發,歡迎查看更多與《MYSQL數據庫MySQL常用HINT分享》相關教程,學精學透。維易PHP學院為您提供精彩教程。