這期內容當中小編將會給大家?guī)碛嘘PMySQL優(yōu)化的小提示有哪些,文章內容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
在固陽等地區(qū),都構建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統性、市場前瞻性、產品創(chuàng)新能力,以專注、極致的服務理念,為客戶提供成都網站設計、成都網站建設 網站設計制作專業(yè)公司,公司網站建設,企業(yè)網站建設,品牌網站設計,成都營銷網站建設,外貿網站制作,固陽網站建設費用合理。
SQL性能提示
特定查詢性能提示(有關索引的提示,請參見數據庫設計提示):
1.使用EXPLAIN分析查詢執(zhí)行計劃
使用解釋查看查詢執(zhí)行的計劃
2.使用慢速查詢日志(始終打開?。?/p>
使用慢速查詢日志(慢查詢日志)
3.當您已經或可能使用分組方式時,不要使用DISTINCT
當你能或正在使用分組時不要使用 不同的
4.插入性能
插入性能
1.批量插入和替換
使用批量插入
2.使用加載數據而不是插入
用加載數據代替插入
5.限制m,n可能沒有聽起來那么快
極限m,n可能并沒有聽起來那么的快
6.如果您有>~2K條記錄,請不要使用ORDER BY RAND()
如果你的記錄大于2000條,請不要使用 蘭德訂單()
7.選擇頻繁更新的數據或大型數據集時,請使用SQL\u NO\u緩存
當你在查詢經常更新和大數據集的數據時,使用SQL\u無\u緩存
8.避免在LIKE查詢開始時使用通配符
避免在喜歡查詢的變量的頭字符中使用通配符
9.避免相關子查詢和in select和where子句(盡量避免in)
避免相關子查詢..
10.無計算比較--隔離索引列
不使用計算后的比較------可使索引列仍然有效
11.按順序和限制使用等式和覆蓋索引進行最佳工作
訂購人和 限度在有索引和等于條件時效率更高
12.將文本/blob與元數據分開,如果不需要,不要將文本/blob放入結果中
把文本/斑點這兩種數據分開,如果不需要的話,不要包含在結果中
13.派生表(FROM子句中的子查詢)可用于檢索BLOB而無需對其進行排序。(如果第一部分找到ID并使用then獲取其余ID,則自連接可加快查詢速度)
14.ALTER TABLE…ORDER BY可以按時間順序對數據進行排序,并按不同的字段對其重新排序--這可以使該字段上的查詢運行得更快(可能這會在索引中進行?)
15.知道何時拆分復雜查詢并連接較小的查詢
知道什么時候分割復雜查詢和合并簡單查詢
16.如果可以,一次刪除少量
17.使類似查詢保持一致,以便使用緩存
把相似的查詢改為一摸一樣的查詢,這樣可以使用隱藏物
18.具有良好的SQL查詢標準
19.不要使用不推薦的功能
不要使用未得認可得特性
20.將多個索引字段(<5.0)轉換或打開為UNION可能會加快速度(有限制),在5.0之后,索引合并應該會加快速度。
在多索引列,把或改為協會可使速度加快(在5版本以下),
21.不要在Innodb表上每次搜索都使用COUNT*,可以重復幾次和/或匯總表,或者如果需要對行總數使用COUNT*,請使用SQL_CALC_FOUND_rows并選擇Find_rows()
不要在每一個搜索中使用計數*(在Innodb表中),可以使用SQL\u計算\u找到\u行和 選擇已找到的行()代替他們
22.在重復密鑰更新時使用INSERT…(插入忽略)以避免必須選擇
23.使用groupwise maximum而不是子查詢
擴展性能提示:
1.使用基準測試
2.隔離工作負載—不要讓管理工作干擾客戶的性能。(即備份)
3.調試糟透了,測試石頭!
4.隨著數據的增長,索引可能會發(fā)生變化(基數和選擇性會發(fā)生變化)。結構可能會發(fā)生變化。使您的模式與代碼一樣模塊化。使您的代碼能夠擴展。計劃并接受變化,并讓開發(fā)人員也這樣做。
網絡性能提示:
1.通過只獲取您需要的內容來最小化流量。
通過查詢你需要得數據來減少通信流量
1.分頁/分塊數據檢索限制
2.不要使用選擇*
不要使用 選擇*
3.如果長時間的查詢效率更高,那么要小心大量小的快速查詢
2.在適當情況下使用multi_查詢以減少往返
操作系統性能提示:
1.使用適當的數據分區(qū)
1.對于集群。在需要集群之前,就開始考慮集群
2.保持數據庫主機盡可能干凈。您真的需要該服務器上的窗口系統嗎?
3.利用操作系統的優(yōu)勢
4.縮減cron腳本
5.創(chuàng)建一個測試環(huán)境
6.源代碼管理架構和配置文件
7.對于LVM innodb備份,請還原到不同的MySQL實例,以便innodb可以前滾
8.適當劃分
9.在擁有真實數據時對數據庫進行分區(qū)——在擁有真實數據之前,不要假設您知道自己的數據集
MySQL服務器總體提示:
1.innodb_flush_commit=0可以幫助從機延遲
2.優(yōu)化數據類型,使用一致的數據類型。使用過程分析()幫助確定滿足您需要的最小數據類型。
3.使用樂觀鎖,而不是悲觀鎖。嘗試使用共享鎖,而不是獨占鎖。共享模式與更新模式
4.如果可以,壓縮文本/水滴
5.壓縮靜態(tài)數據
6.不要經常備份靜態(tài)數據
7.如果合適,啟用并增加查詢和緩沖區(qū)緩存
8.配置參數--http://docs.cellblue.nl/2007/03/17/easy-mysql-performance-tweaks/ 這是一個很好的參考
9.配置變量和提示:
1.使用提供的配置文件之一
2.密鑰緩沖區(qū)、unix緩存(保留一些RAM空閑)、每個連接變量、innodb內存變量
3.注意全局變量與每個連接變量
4.檢查顯示狀態(tài)和顯示變量(5.0及以上版本中的全局|會話)
5.注意交換,特別是與Linux的交換,“交換”(對于innodb數據文件,繞過操作系統文件緩存,如果可能,innodb_flush_method=O_DIRECT(這也是操作系統特有的))
6.整理表碎片,重建索引,進行表維護
7.如果您使用innodb_flush
上述就是小編為大家分享的mysql優(yōu)化的小提示有哪些了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注創(chuàng)新互聯行業(yè)資訊頻道。
文章標題:mysql優(yōu)化的小提示有哪些
文章URL:http://bm7419.com/article20/goeojo.html
成都網站建設公司_創(chuàng)新互聯,為您提供ChatGPT、電子商務、移動網站建設、手機網站建設、網站營銷、品牌網站制作
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯