<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>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                有了索引,我們根據索引為條件進行數據查詢速度就非常快 ① 索引本身有”算法”支持,可以快速定位我們要找到的關鍵字(字段) ② 索引字段與物理地址有直接對應,幫助我們快速定位要找到的信息 一個數據表的全部字段都可以設置索引 #### 類型 四種類型: ① 主鍵 primary key auto\_increment必須給主鍵索引設置 信息內容要求不能為null,唯一 ② 唯一 unique index 信息內容不能重復 ③ 普通 index 沒有具體要求 ④ 全文 fulltext index myisam數據表可以設置該索引 復合索引:索引關聯的字段是多個組成的,該索引就是復合索引。 ![Image](https://box.kancloud.cn/bd6786f623890bf997bb0cad2414d3ab_276x211.png) #### 添加索引 ![Image](https://box.kancloud.cn/450a7a5d69b0b395cbfe925b03ac9c0e_474x93.png) 創建一個復合索引: 索引沒有名稱,默認把第一個字段取出來當做名稱使用。 ![Image](https://box.kancloud.cn/446d7e0798fc2b6a3670e198403f6e7e_450x60.png) ![Image](https://box.kancloud.cn/67a6cdd0bfba4322f77d26dbc852c702_450x221.png) #### 刪除索引 alter table 表名 drop primary key; //刪除主鍵索引 注意:該主鍵字段如果存在auto\_increment屬性,需要先刪除之 alter table 表名 modify 主鍵 int not null comment ‘主鍵’; 去除數據表主鍵字段的auto\_increment屬性: ![Image](https://box.kancloud.cn/314dbe24a4f0d07fe2184ea392faa903_462x61.png) ![Image](https://box.kancloud.cn/ef80cfe5819ef7d0f7b6b4706f7926ef_426x185.png) 禁止刪除主鍵,原因是內部有auto\_increment屬性: ![Image](https://box.kancloud.cn/4ad08dbf09702f7ed2f49d7ced92abb0_536x48.png) alter table 表名 drop index 索引名稱; //刪除其他索引(唯一、普通、全文) 刪除主鍵: ![Image](https://box.kancloud.cn/12b35ab67995490c0ee50d3858c6549c_356x66.png) 刪除其他索引: ![Image](https://box.kancloud.cn/dc42f45ed168ac6d591f720770555626_337x203.png) #### 執行計劃 針對查詢語句設置執行計劃,當前數據庫只有查詢語句支持執行計劃。 每個select查詢sql語句執行之前,需要把該語句需要用到的各方面資源都計劃好 例如:cpu資源、內存資源、索引支持、涉及到的數據量等資源 查詢sql語句真實執行之前所有的資源計劃就是執行計劃。 我們討論的執行計劃,就是看看一個查詢sql語句是否可以使用上索引。 具體操作: explain 查詢sql語句\\G; 1條 sql語句在沒有執行之前,可以看一下執行計劃。 ![Image](https://box.kancloud.cn/9e095a7feaf66df71e03da2ac954ff93_474x232.png) 主鍵索引刪除后,該查詢語句的執行計劃就沒有使用索引(執行速度、效率低) ![Image](https://box.kancloud.cn/f8a07eb156a5dc9d9e23ae9e9a81c2c2_454x278.png) #### 索引覆蓋 給ename和job設置一個復合索引 ![Image](https://box.kancloud.cn/3c2fc6db37617978ddb876c3d055659b_405x84.png) ![Image](https://box.kancloud.cn/c11866857d5b85d8d4d5813c8a040bd8_361x194.png) 索引覆蓋:我們查詢的全部字段(ename,job)已經在索引里邊存在,就直接獲取即可 不用到數據表中再獲取了。因此成為”索引覆蓋” 該查詢速度非常快,效率高,該索引也稱為”黃金索引” 索引本身需要消耗資源的(空間資源、升級維護困難):// .MYI 文件 #### 索引原則 ##### 字段獨立原則 **select \* from emp where empno=1325467**; //empno條件字段獨立 select \* from emp where empno+2=1325467; //empno條件字段不獨立 只有獨立的條件字段才可以使用索引 獨立的條件字段可以使用索引, 不獨立的條件字段不給使用索引 ##### 左原則 模糊查詢,like % \_ %:關聯多個模糊內容 \_: 關聯一個模糊內容 select \* from 表名 like “beijing%”; //使用索引 select \* from 表名 like “beijing\_”; //索引索引 查詢條件信息在左邊出現,就給使用索引 XXX% YYY\_ 使用索引 %AAA% \_ABC\_ %UUU 不使用索引 沒有使用索引(中間條件查詢): ![Image](https://box.kancloud.cn/8a71bed38c265f4afe7c3f8e53b953fc_454x29.png) ![Image](https://box.kancloud.cn/ad954570660d48edd47ecc0e81667d92_414x82.png) 左原則使用到索引 ![Image](https://box.kancloud.cn/2d7bed64541277ee6ac70964a7655673_447x156.png) ##### 復合索引 ename復合索引 內部有兩個字段(ename,job) ① ename(前者字段)作為查詢條件可以使用復合索引 ② job(后者字段)作為查詢條件不能使用復合索引 復合索引的第一個字段可以使用索引: ![Image](https://box.kancloud.cn/82090d424591dd3c456a19030950f988_416x195.png) 復合索引的其余字段不能使用索引: ![Image](https://box.kancloud.cn/97544c6a7d2de5b734cedfb3c61b567a_418x189.png) 如果第一個字段的內容已經確定好,第二個字段也可以使用索引: ![Image](https://box.kancloud.cn/7923f2f13e28c13f9297780d3032326d_528x185.png) ##### or原則 OR左右的關聯條件必須都具備索引 才可以使用索引: ![Image](https://box.kancloud.cn/e52007761008d3f1980872aecd9484b0_535x188.png) or的左右,只有一個有索引,導致整體都沒有的使用: ![Image](https://box.kancloud.cn/6d1aa8c579102b59da7af608e481103d_473x205.png) #### 索引設計 要估算每個數據表全部的查詢sql語句類型 分析、統計每個sql語句的特點(where/order by/or等等) 原則: ① 被頻繁執行的sql語句要設置 ② 執行時間比較長的sql語句(可以統計) ③ 業務邏輯比較重要的sql語句(例如支付寶2小時內答應返現的業務邏輯) ##### 前綴索引 設計索引的字段,不使用全部內容,而只使用該字段前邊一部分內容。 如果字段的前邊N位的信息已經可以足夠標識當前記錄信息,就可以把前邊N位信息設置為索引內容,好處:索引占據的物理空間小、運行速度就非常快。 具體實現: ① 操作 alter table 表名 add index (字段(位數)) ② 前邊到底取得多少位,才是記錄的唯一標識 總記錄數目/前n位記錄數目 = 比值; select count(\*) from 表名; mysql字符串截取:substring(字段,開始位置1開始,長度) ![Image](https://box.kancloud.cn/b74f7489fba77a32c4c855d6e838d4fa_524x235.png) 從結果可以看出,密碼的前9位就可以唯一標識當前記錄信息: ![Image](https://box.kancloud.cn/01a62a3550bee6d9b48856fd4280820d_421x84.png) ##### 設計原則 字段內容需要足夠花樣,性別字段不適合做索引 ##### 全文索引 ![Image](https://box.kancloud.cn/ad651e2cbc0b0c9d7070b07b1748fd3c_232x82.png) Mysql5.5 Myisam存儲引擎 支持全文索引 Mysql5.6 Myisam和Innodb存儲引擎 都支持全文索引 目前中文不支持全文索引。 建個表 ![Image](https://box.kancloud.cn/ad5ab42a560e567a72c5f45f2eff349e_473x183.png) ![Image](https://box.kancloud.cn/b9a50c1538374633747afafe8df6b2c5_502x83.png) 需要變形為match() against()才可以使用全文索引: ![Image](https://box.kancloud.cn/3ff929d059aa80bc90bae4b6193bb65f_506x114.png) ![Image](https://box.kancloud.cn/4d58f4ca8a6ca04621a28cafaf288cad_505x60.png)
                  <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>

                              哎呀哎呀视频在线观看