久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

mysql優化的小提示有哪些

148次閱讀
沒有評論

共計 2316 個字符,預計需要花費 6 分鐘才能閱讀完成。

這期內容當中丸趣 TV 小編將會給大家帶來有關 mysql 優化的小提示有哪些,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

SQL 性能提示

特定查詢性能提示(有關索引的提示,請參見數據庫設計提示):

1. 使用 EXPLAIN 分析查詢執行計劃

使用解釋查看查詢執行的計劃

2. 使用慢速查詢日志(始終打開!)

使用慢速查詢日志 (慢查詢日志)

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. 隨著數據的增長,索引可能會發生變化(基數和選擇性會發生變化)。結構可能會發生變化。使您的模式與代碼一樣模塊化。使您的代碼能夠擴展。計劃并接受變化,并讓開發人員也這樣做。

網絡性能提示:

1. 通過只獲取您需要的內容來最小化流量。

通過查詢你需要得數據來減少通信流量

1. 分頁 / 分塊數據檢索限制

2. 不要使用選擇 *

不要使用 選擇 *

3. 如果長時間的查詢效率更高,那么要小心大量小的快速查詢

2. 在適當情況下使用 multi_查詢以減少往返

操作系統性能提示:

1. 使用適當的數據分區

1. 對于集群。在需要集群之前,就開始考慮集群

2. 保持數據庫主機盡可能干凈。您真的需要該服務器上的窗口系統嗎?

3. 利用操作系統的優勢

4. 縮減 cron 腳本

5. 創建一個測試環境

6. 源代碼管理架構和配置文件

7. 對于 LVM innodb 備份,請還原到不同的 MySQL 實例,以便 innodb 可以前滾

8. 適當劃分

9. 在擁有真實數據時對數據庫進行分區——在擁有真實數據之前,不要假設您知道自己的數據集

MySQL 服務器總體提示:

1.innodb_flush_commit= 0 可以幫助從機延遲

2. 優化數據類型,使用一致的數據類型。使用過程分析()幫助確定滿足您需要的最小數據類型。

3. 使用樂觀鎖,而不是悲觀鎖。嘗試使用共享鎖,而不是獨占鎖。共享模式與更新模式

4. 如果可以,壓縮文本 / 水滴

5. 壓縮靜態數據

6. 不要經常備份靜態數據

7. 如果合適,啟用并增加查詢和緩沖區緩存

8. 配置參數 –http://docs.cellblue.nl/2007/03/17/easy-mysql-performance-tweaks/ 這是一個很好的參考

9. 配置變量和提示:

1. 使用提供的配置文件之一

2. 密鑰緩沖區、unix 緩存(保留一些 RAM 空閑)、每個連接變量、innodb 內存變量

3. 注意全局變量與每個連接變量

4. 檢查顯示狀態和顯示變量(5.0 及以上版本中的全局 | 會話)

5. 注意交換,特別是與 Linux 的交換,“交換”(對于 innodb 數據文件,繞過操作系統文件緩存,如果可能,innodb_flush_method=O_DIRECT(這也是操作系統特有的))

6. 整理表碎片,重建索引,進行表維護

7. 如果您使用 innodb_flush

上述就是丸趣 TV 小編為大家分享的 mysql 優化的小提示有哪些了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注丸趣 TV 行業資訊頻道。

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-07-18發表,共計2316字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 定西市| 怀安县| 临高县| 虎林市| 年辖:市辖区| 吉水县| 横峰县| 乾安县| 隆昌县| 胶南市| 额尔古纳市| 永定县| 陇川县| 黄龙县| 章丘市| 柏乡县| 葫芦岛市| 金湖县| 泰兴市| 砀山县| 岱山县| 澄城县| 蒙阴县| 新河县| 龙州县| 勃利县| 巧家县| 尉氏县| 明溪县| 兴国县| 宜宾县| 徐闻县| 宁安市| 灵武市| 武鸣县| 武宁县| 伊宁县| 漳州市| 青州市| 天津市| 肥东县|