<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                [TOC] 查看mysql中支持的全部存儲引擎:show engines # innodb 他會把需要的熱數據和索引緩存在內存中 數據庫每個數據表的數據設計三方面信息:表結構、數據、索引 技術特點:支持事務、行級鎖定、外鍵 ## 表結構,數據,索引的物理儲存 表結構文件 通過這個命令查看mysql的一些路徑 ~~~ show variables like '%dir%'; ~~~ 然后到庫的文件夾下就可以看到有 .frm文件就是innodb 所有innodb表的數據和索引信息都存儲在一個文件中 ~~~ show variables like 'innodb_file_per_table'; ~~~ 通過這個命令查看每個innodb表的 數據和索引會不會創建單獨的文件存儲,on就是會 設置變量,使得每個innodb表有獨特的數據和索引 存儲文件: ~~~ set global innodb_file_per_table=1; ~~~ .ibd 文件就是數據和索引都有獨立的存儲位置 ## 數據存取順序 innodb表數據的存儲是按照主鍵的順序排列每個寫入的數據。 該特點決定了該類型表的寫入操作較慢。 ## 事務,外鍵 該類型數據表支持事務、外鍵 事務:把許多寫入(增、改、刪)的sql語句捆綁在一起,要么執行、要么不執行 事務經常用于與“錢”有關的方面。 四個特性:原子、一致、持久、隔離 具體操作: ~~~ start transaction; 許多寫入sql語句 sql語句有問題 rollback;回滾 commit;提交 rollback和commit只能執行一個 ~~~ 外鍵:兩個數據表A和B,B表的主鍵是A表的普通字段,在A表看這個普通的字段就是該表的“外鍵”,外鍵的使用有”約束”。 約束:以上兩個表,必須先寫B表的數據,再寫A表的數據 并且 A表的外鍵取值必須來之B表的主鍵id值,不能超過其范圍。 真實項目里邊很少使用“外鍵”,因為有約束 ## 并發性 該類型表的并發性非常高 多人同時操作該數據表 為了操作數據表的時候,數據內容不會隨便發生變化,要對信息進行“鎖定” 該類型鎖定級別為:行鎖。只鎖定被操作的當前記錄。 # Myisam ## 結構,數據,索引獨立存儲 ~~~ *.frm:表結構文件 *.MYD:表數據文件 *.MYI:表索引文件 ~~~ 該類型的數據表 表結構、數據、索引 都有獨立的存儲文件 每個myisam數據表的 結構、數據、索引 都有獨立的存儲文件 特點:獨立的存儲文件可以單獨備份、還原。 數據穩定后可以壓縮數據信息 支持全文索引 ## 數據存儲順序 myisam表數據的存儲是按照自然順序排列每個寫入的數據。 該特點決定了該類型表的寫入操作較快。 ## 并發性 該類型并發性較低 該類型的鎖定級別為:表鎖 ## 壓縮機制 如果一個數據表的數據非常多,為了節省存儲空間,需要對該表進行壓縮處理。 復制當前數據表的數據: 開始壓縮數據表的數據 //這里表名要帶路徑的F:\phpstudy\MySQL\data\php2\order3 表名order3前面帶路徑 壓縮工具:myisampack.exe 表名 重建索引:myisamchk.exe -rq 表名 解壓縮工具:myisamchk.exe --unpack 表名 ![](https://box.kancloud.cn/726875fb98837d3ed82e081799111f31_1076x316.jpg) 或者 ~~~ /usr/local/mysql/bin/myisampack myisam.MYI # 中間可以跟參數-b -f ~~~ order3數據表有壓縮,但是索引沒有了:要重建索引 ![](https://box.kancloud.cn/00b7620b78a5f5479f41c92c1b8c2bdf_1078x202.jpg) 索引重建完畢 出現情況: 壓縮的數據表是只讀表,不能寫信息: 壓縮的數據表有特點:不能頻繁的寫入操作,只是內容固定的數據表可以做壓縮處理 存儲全國地區信息的數據表 收貨地址信息數據表 如果必須要寫數據:就解壓該數據表,寫入數據,再壓縮 解壓order3數據表,使得其可以寫入數據: (解壓同時索引自動重建) ![](https://box.kancloud.cn/506fe926a012eabc27d4027421b69b60_1080x174.jpg) 執行flush操作,更新解壓后的數據:flush table 表名; //這邊直接寫表名就可以不帶路徑 該操作同時會刪除order3.MYD.00996D46.deleted的壓縮備份文件 innodb存儲引擎:適合做修改、刪除 Myisam存儲引擎:適合做查詢、寫入 # Archive 歸檔型存儲引擎,該引擎只有寫入、查詢操作,沒有修改、刪除操作 比較適合存儲“日志”性質的信息。 特點: * 以zlib對表數據進行壓縮,磁盤I/O更少 * 數據存儲在ARZ為后綴的文件中 * 只允許在自增ID列上加索引 # memory 內存型存儲引擎,操作速度非常快速,比較適合存儲臨時信息, 服務器斷電,給存儲引擎的數據立即丟失,表結構存在,表結構存在磁盤,表數據存在內存中。 支持hash索引和BTree索引,如果是等值查詢hash索引快,BTree索引范圍查找 所有字段都為固定長度varchar(10)=char(10) 就算寫varchar也是會變成定長的char 不支持BLOG和TEXT等大字段 使用表級鎖 不能存儲大量數據,最大大小由max_heap_table_size參數決定,對已經存在的memory類型的表不生效,除非重建 ## 使用場景 * 用于查找或者映射表,例如郵編和地區的對應表 * 用于保存數據分析中產生的中間表 * 用于緩存周期性聚合數據的結果表 * 數據容易丟失,要求數據可再生 ## 容易混合的概念 memory存儲類型的表 vs 臨時表 臨時表(2種,都是只對當前session可見) 1. 系統臨時使用的表(超過限制使用myisam臨時表,未超限制使用memory表) 2. create temporary teble 建立的臨時表 memory類型的表都是可見的 # 選擇引擎 ## Myisam和innodb Myisam崩潰后修復能力沒有innodb好 網站大多數情況下“讀和寫”操作非常多,適合選擇Myisam類型 例如 dedecms、phpcms內容管理系統(新聞網站)、discuz論壇 網站對業務邏輯有一定要求(辦公網站、商城)適合選擇innodb Mysql5.5默認存儲引擎都是innodb的 Myisam和Innodb存儲引擎特點 ### Myisam 表結構、數據、索引 分別有對應的存儲文件 寫入數據非常快,安裝自然順序寫入數據 數據穩定后可以壓縮數據信息 支持全文索引 并發性:少低,鎖表操作 ### Innodb 表結構有單獨存儲文件,數據和索引共享同一個存儲文件(ibdata1、*.ibd) ibdata1 是全部innodb表的數據和索引的存儲文件 *.ibd 是每個innodb表的數據和索引的存儲文件 支持事務和外鍵的 并發性:好,操作數據表時鎖定記錄(行) Mysql5.6版本有支持全文索引
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看