<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        開源數據庫MySQL優化秘籍(1)

        來源:懂視網 責編:小采 時間:2020-11-09 14:29:53
        文檔

        開源數據庫MySQL優化秘籍(1)

        開源數據庫MySQL優化秘籍(1):數據庫優化是一項很復雜的工作,因為這最終需要對系統優化的很好理解才行。盡管對系統或應用系統的了解不多的情況下優化效果還不錯,但是如果想優化的效果更好,那么就需要對它了解更多才行。 1、優化概述 讓系統運行得快得最重要因素是數據庫基本的設計。并
        推薦度:
        導讀開源數據庫MySQL優化秘籍(1):數據庫優化是一項很復雜的工作,因為這最終需要對系統優化的很好理解才行。盡管對系統或應用系統的了解不多的情況下優化效果還不錯,但是如果想優化的效果更好,那么就需要對它了解更多才行。 1、優化概述 讓系統運行得快得最重要因素是數據庫基本的設計。并

        數據庫優化是一項很復雜的工作,因為這最終需要對系統優化的很好理解才行。盡管對系統或應用系統的了解不多的情況下優化效果還不錯,但是如果想優化的效果更好,那么就需要對它了解更多才行。 1、優化概述 讓系統運行得快得最重要因素是數據庫基本的設計。并

        數據庫優化是一項很復雜的工作,因為這最終需要對系統優化的很好理解才行。盡管對系統或應用系統的了解不多的情況下優化效果還不錯,但是如果想優化的效果更好,那么就需要對它了解更多才行。

        1、優化概述

        讓系統運行得快得最重要因素是數據庫基本的設計。并且還必須清楚您的系統要用來做什么,以及存在的瓶頸。

        最常見的系統瓶頸有以下幾種:

        磁盤搜索。它慢慢地在磁盤中搜索數據塊。對現代磁盤來說,平時的搜索時間基本上小于10毫秒,因此理論上每秒鐘可以做100次磁盤搜索。這個時間對于全新的新磁盤來說提高的不多,并且對于只有一個表的情況也是如此。加快搜索時間的方法是將數據分開存放到多個磁盤中。

        磁盤讀/寫。當磁盤在正確的位置上時,就需要讀取數據。對現代磁盤來說,磁盤吞吐量至少是10-20MB/秒。這比磁盤搜索的優化更容易,因為可以從多個媒介中并行地讀取數據。

        CPU周期。數據存儲在主內存中(或者它已經在主內存中了),這就需要處理這些數據以得到想要的結果。

        內存帶寬。當CPU要將更多的數據存放在CPU緩存中時,主內存的帶寬就是瓶頸了。在大多數系統中,這不是常見的瓶頸,不過也是要注意的一個因素。

        1.1 MySQL 設計的局限性

        當使用MyISAM存儲引擎時,MySQL會使用一個快速數據表鎖以允許同時多個讀取和一個寫入。這種存儲引擎的最大問題是發生在一個單一的表上同時做穩定的更新操作及慢速查詢。如果這種情況在某個表中存在,可以使用另一種表類型。

        MySQL可以同時在事務及非事務表下工作。為了能夠平滑的使用非事務表(發生錯誤時不能回滾),有以下幾條規則:

        所有的字段都有默認值

        如果字段中插入了一個"錯誤"的值,比如在數字類型字段中插入過大數值,那么MySQL會將該字段值置為"最可能的值"而不是給出一個錯誤。數字類型的值是0,最小或者最大的可能值。字符串類型,不是空字符串就是字段所能存儲的最大長度。

        所有的計算表達式都會返回一個值而報告條件錯誤,例如 1/0 返回 NULL。

        這些規則隱含的意思是,不能使用MySQL來檢查字段內容。相反地,必須在存儲到數據庫前在應用程序中來檢查。

        1.2 應用設計的可移植性

        由于各種不同的數據庫實現了各自的SQL標準,這就需要我們盡量使用可移植的SQL應用。查詢和插入操作很容易就能做到可移植,不過由于更多的約束條件的要求就越發困難。想要讓一個應用在各種數據庫系統上快速運行,就變得更困難了。

        為了能讓一個復雜的應用做到可移植,就要先看這個應用運行于哪種數據庫系統之上,然后看這些數據庫系統都支持哪些特性。每個數據庫系統都有某些不足。也就是說,由于設計上的一些妥協,導致了性能上的差異。

        可以用MySQL的 crash-me 程序來看選定的數據庫服務器上可以使用的函數,類型,限制等。crash-me 不會檢查各種可能存在的特性,不過這仍然是合乎情理的理解,大約做了450次測試。一個crash-me 的信息類型的例子就是,它會告訴您如果想使用Informix 或 DB2的話,就不能使字段名長度超過18個字符。

        crash-me 程序和MySQL基準使每個準數據庫都實現了的。可以通過閱讀這些基準程序是怎么寫的,自己就大概有怎樣做才能讓程序獨立于各種數據庫這方面的想法了。這些程序可以在MySQL源代碼的 `sql-bench' 目錄下找到。他們大部分都是用Perl寫的,并且使用DBI接口。由于它提供了獨立于數據庫的各種訪問方式,因此用DBI來解決各種移植性的問題。

        如果您想努力做到獨立于數據庫,這就需要對各種SQL服務器的瓶頸都有一些很好的想法。例如,MySQL對于 MyISAM 類型的表在檢索以及更新記錄時非常快,但是在有并發的慢速讀取及寫入記錄時卻有一定的問題。作為Oracle來說,它在訪問剛剛被更新的記錄時有很大的問題(直到結果被刷新到磁盤中)。事務數據庫一般地在從日志表中生成摘要表這方面的表現不怎么好,因為在這種情況下,行記錄鎖幾乎沒用。

        為了能讓應用程序真正的做到獨立于數據庫,就必須把操作數據的接口定義的簡單且可擴展。由于C++在很多系統上都可以使用,因此使用C++作為數據庫的基類結果很合適。

        如果使用了某些數據庫獨有的特定功能(比如 REPLACE 語句就只在MySQL中獨有),這就需要通過編寫替代方法來在其他數據庫中實現這個功能。盡管這些替代方法可能會比較慢,但是它能讓其他數據庫實現同樣的功能。

        在MySQL中,可以在查詢語句中使用 /*! */ 語法來增加MySQL特有的關鍵字。然而在很多其他數據庫中,/**/ 卻被當成了注釋(并且被忽略)。

        如果有時候更高的性能比數據結果的精確更重要,就像在一些Web應用中那樣,這可以使用一個應用層來緩存結果,這可能會有更高的性能。通過讓舊數據在一定時間后過期,來合理的更新緩存。這是處理負載高峰期時的一種方法,這種情況下,可以通過加大緩存容量和過期時間直到負載趨于正常。

        這種情況下,建表信息中就要包含了初始化緩存的容量以及正常刷新數據表的頻率。一個實現應用層緩存的可選方案是使用MySQL的查詢緩存(query cache)。啟用查詢緩存后,數據庫就會根據一些詳情來決定哪些結果可以被重用。它大大簡化了應用程序。

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        開源數據庫MySQL優化秘籍(1)

        開源數據庫MySQL優化秘籍(1):數據庫優化是一項很復雜的工作,因為這最終需要對系統優化的很好理解才行。盡管對系統或應用系統的了解不多的情況下優化效果還不錯,但是如果想優化的效果更好,那么就需要對它了解更多才行。 1、優化概述 讓系統運行得快得最重要因素是數據庫基本的設計。并
        推薦度:
        標簽: 數據 數據庫 開源
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 国产免费区在线观看十分钟| 国产免费AV片在线观看 | 亚洲日本va在线视频观看| 亚洲一卡2卡三卡4卡有限公司| 精品亚洲AV无码一区二区三区| 免费一级毛片在线播放放视频 | 黄色毛片免费观看| av无码免费一区二区三区| 四虎永久免费观看| 亚洲大尺度无码专区尤物| 日韩在线视精品在亚洲| 51视频精品全部免费最新| 国产午夜亚洲不卡| 亚洲欧美不卡高清在线| 高清一区二区三区免费视频| 亚洲国产成人a精品不卡在线| 亚洲伊人精品综合在合线| 国产午夜免费高清久久影院| 亚洲国产老鸭窝一区二区三区| www.xxxx.com日本免费| 国产一区二区三区在线免费| 一级黄色片免费观看| 四虎在线播放免费永久视频 | 国产精品免费大片| 亚洲经典在线观看| 免费精品无码AV片在线观看| 久久久精品国产亚洲成人满18免费网站 | 免费人成在线观看网站| 亚洲婷婷综合色高清在线| baoyu777永久免费视频| 亚洲片国产一区一级在线观看| 亚洲av无码成人精品区一本二本| 美女视频黄a视频全免费| 亚洲精品无码久久久久久久| 手机在线毛片免费播放 | 亚洲aⅴ天堂av天堂无码麻豆| 亚洲中文字幕视频国产| 一本一道dvd在线观看免费视频| 亚洲va久久久噜噜噜久久男同| 无码精品人妻一区二区三区免费看| 亚洲av永久无码制服河南实里|