91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

mysql基礎(三)存儲引擎和鎖

發布時間:2020-05-05 12:31:11 來源:網絡 閱讀:325 作者:紅塵世間 欄目:數據庫

存儲引擎的概念:

            關系型數據庫表是用于存儲和組織信息的數據結構,可以將表理解為由行和列組成的表格,各種各樣,不同的表結構意味著存儲不同類型的數據,在數據的處理上也會存在著差異,對于mysql來說,它提供了多種類型的存儲引擎,可以根據對數據處理的需求,選擇不同的存儲引擎,從而最大限度的利用mysql的性能


mysql常見的存儲引擎:(SHOW ENGINES;    查看mysql支持的存儲引擎)


InnoDB:mysql5.5以后默認使用的儲存引擎,是目前使用最為廣泛的存儲引擎

        InnoDB的特性:

                1、支持崩潰后安全恢復

                2、InnoDB支持行級鎖和外鍵約束

                3、支持事務

                4、支持聚集索引和輔助索引

                5、支持熱備份

                6、支持行級鎖

                7、特別適合處理多重并發的請求,基于MVCC實現

    

        數據文件:

InnoDB數據存儲于表空間中:

兩種表空間的類型:

1、所有InnoDB表的數據和索引存在在一個文件中,表空間文件定義在data目錄下

數據文件名:ibdata1,ibdata2,...

默認使用這種表空間格式,但這種方式有很大缺陷,不建議使用


2、每個表使用一個獨立的表空間文件,存儲數據和索引

innodb_file_per_teble=ON #指定使用第二種表空間格式

使用獨立表空間文件,每增加一張表就會增加兩個數據文件

        數據文件:

        表名.ibd:用于存儲數據和索引

        表名.frm:用于存儲表定義和屬性



MyISAM:mysql5.5以前默認使用的存儲引擎

        MyISAM的特性:

1、支持全文索引,壓縮

2、不支持事務

3、只能支持表級鎖

4、不支持崩潰后安全恢復

5、支持溫備份

適用場景:讀多寫少的環境(如:讀寫分離中的從庫),且如果需要用到MyISAM可以考慮用Aria代替

Aria支持崩潰后安全恢復

MyISAM沒創建一個表和生成三個數據文件

數據文件:位于data目錄下

表名.frm:用于存儲表定義和屬性

表名.MYD:用于存儲數據

表名.MYI:用于存儲索引



BlackHole(黑洞引擎):

            不實際存儲數據,一般只用于記錄二進制日志文件,多用與級聯復制



Memory(基于內存的存儲引擎):

            Memory存儲引擎,內存作為存儲介質。提高數據庫性能,但當mysqld崩潰時,所有的Memory數據都會丟失

    使用場景:

1.目標數據較小,而且被非常頻繁地訪問

2.如果數據是臨時的,而且要求必須立即可用,那么可以Memory存儲引擎

3.存儲在Memory表中的數據如果突然丟失,不會對線上服務產生負面影響



mysql鎖:

    鎖的概念:

            在數據庫中,數據是一種供許多用戶共享的資源。如何保證數據并發訪問的一致性、有效性是所有數據庫必須解決的一個問題,鎖沖突也是影響數據庫并發訪問性能的一個重要因素

 

    鎖的級別:

    表級鎖:開銷小,加鎖快;不會出現死鎖;鎖定力度大,發生鎖沖突的概率最高,并發度最低

    行級鎖:開銷大,加鎖慢;會出現死鎖;鎖定力度小,發生鎖沖突的概率最低,并發度最高

    mysql本身在數據庫級別實現了表級鎖,存儲引擎的鎖只有存儲引擎能夠調用,用戶無權操作


    手動加鎖:

    語法

            LOCK TABLES tbl_name ock_type READ|WRITE #加鎖

    UNLOCK TABLES #解鎖




向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

赣榆县| 永春县| 开江县| 芒康县| 交口县| 宁都县| 济源市| 宝丰县| 阳原县| 天长市| 静宁县| 呼玛县| 华池县| 杭州市| 吐鲁番市| 伊川县| 富蕴县| 徐闻县| 武乡县| 濮阳县| 海门市| 平南县| 崇义县| 崇信县| 志丹县| 太原市| 彝良县| 丽水市| 石渠县| 沾化县| 穆棱市| 泽普县| 富平县| 通榆县| 兴和县| 萝北县| 濮阳市| 浙江省| 延津县| 扎兰屯市| 文安县|