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

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # 11.7\. 表達式上的索引 索引并非一定要是一個底層表的字段,還可以是一個函數或者從一個或多個字段計算出來的標量表達式。 這個特性對于快速訪問那些基于計算結果的表非常有用。 比如,做大小寫無關比較的常用方法是使用`lower`函數: ``` SELECT * FROM test1 WHERE lower(col1) = 'value'; ``` 如果我們在`lower(col1)`函數的結果上定義索引 ``` CREATE INDEX test1_lower_col1_idx ON test1 (lower(col1)); ``` 那么上述查詢就可以使用該索引。如果我們把這個索引聲明為`UNIQUE`, 那么它會禁止創建那種`col1`數值只是大小寫有別或完全相同的數據行。 因此,在表達式上的索引可以用于強制那些無法定義為簡單唯一約束的約束。 另外一個例子是,如果我們經常使用下面這樣的查詢: ``` SELECT * FROM people WHERE (first_name || ' ' || last_name) = 'John Smith'; ``` 那么我們就值得創建下面這樣的索引: ``` CREATE INDEX people_names ON people ((first_name || ' ' || last_name)); ``` `CREATE INDEX`命令的語法通常要求在索引表達式周圍書寫圓括弧, 就像我們在第二個例子里顯示的那樣。如果表達式只是一個函數調用, 那么可以省略,就像我們在第一個例子里顯示的那樣。 從維護角度來看,索引表達式相對費勁一些,因為在插入數據行或者更新數據行的時候, 都必須為每一行計算生成的表達式。不過,索引表達式_不是_在索引查找的時候進行計算的, 因為它們已經存儲在索引里了。在上面的兩個例子里,系統都把查詢看做只是 `WHERE indexedcolumn = 'constant'`,所以搜索的速度等效于任何其它簡單的索引查詢。 因此,表達式上的索引在檢索速度比插入和更新速度更重要的場合下是有用的。
                  <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>

                              哎呀哎呀视频在线观看