久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長(zhǎng)資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      不許不會(huì)的 SQL 優(yōu)化極簡(jiǎn)法則

      SQL教程 作為關(guān)系型數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)語言,是IT從業(yè)人員必不可少的技能之一。SQL 本身并不難學(xué),編寫查詢語句也很容易,但是想要編寫出能夠高效運(yùn)行的查詢語句卻有一定的難度。

      不許不會(huì)的 SQL 優(yōu)化極簡(jiǎn)法則

      推薦(免費(fèi)):SQL教程

      查詢優(yōu)化是一個(gè)復(fù)雜的工程,涉及從硬件到參數(shù)配置、不同數(shù)據(jù)庫(kù)的解析器、優(yōu)化器實(shí)現(xiàn)、SQL 語句的執(zhí)行順序、索引以及統(tǒng)計(jì)信息的采集等,甚至應(yīng)用程序和系統(tǒng)的整體架構(gòu)。本文介紹幾個(gè)關(guān)鍵法則,可以幫助我們編寫高效的 SQL 查詢;尤其是對(duì)于初學(xué)者而言,這些法則至少可以避免我們寫出性能很差的查詢語句。

      以下法則適用于各種關(guān)系型數(shù)據(jù)庫(kù),包括但不限于:MySQL、Oracle、SQL Server、PostgreSQL 以及 SQLite 等。如果覺得文章有用,歡迎評(píng)論、點(diǎn)贊、轉(zhuǎn)發(fā)朋友圈支持。

      法則一:只返回需要的結(jié)果

      一定要為查詢語句指定 WHERE 條件,過濾掉不需要的數(shù)據(jù)行。通常來說,OLTP 系統(tǒng)每次只需要從大量數(shù)據(jù)中返回很少的幾條記錄;指定查詢條件可以幫助我們通過索引返回結(jié)果,而不是全表掃描。絕大多數(shù)情況下使用索引時(shí)的性能更好,因?yàn)樗饕˙-樹、B+樹、B*樹)執(zhí)行的是二進(jìn)制搜索,具有對(duì)數(shù)時(shí)間復(fù)雜度,而不是線性時(shí)間復(fù)雜度。以下是 MySQL 聚簇索引的示意圖:不許不會(huì)的 SQL 優(yōu)化極簡(jiǎn)法則舉例來說,假設(shè)每個(gè)索引分支節(jié)點(diǎn)可以存儲(chǔ) 100 個(gè)記錄,100 萬(1003)條記錄只需要 3 層 B-樹即可完成索引。通過索引查找數(shù)據(jù)時(shí)需要讀取 3 次索引數(shù)據(jù)(每次磁盤 IO 讀取整個(gè)分支節(jié)點(diǎn)),加上 1 次磁盤 IO 讀取數(shù)據(jù)即可得到查詢結(jié)果。純干貨!15000 字語法手冊(cè)分享給你

      相反,如果采用全表掃描,需要執(zhí)行的磁盤 IO 次數(shù)可能高出幾個(gè)數(shù)量級(jí)。當(dāng)數(shù)據(jù)量增加到 1 億(1004)時(shí),B-樹索引只需要再增加 1 次索引 IO 即可;而全表掃描則需要再增加幾個(gè)數(shù)量級(jí)的 IO。

      同理,我們應(yīng)該避免使用 SELECT * FROM, 因?yàn)樗硎静樵儽碇械乃凶侄?。這種寫法通常導(dǎo)致數(shù)據(jù)庫(kù)需要讀取

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)