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

                [TOC] # 使用索引 ## 局部索引與全局索引對比 與局部索引相比,由于全局索引有獨立的分區規則,因此索引表中一個分區的索引值可能對應著主表的多個分區內的數據。由于索引的分區規則和主表的分區規則不一定相同,因此在分布式環境中,索引數據和主表數據存儲的位置也無法保證始終在一起,這不可避免的會引入讀寫的 RPC 代價和分布式事務的代價。例如,當主表的分區和全局索引的分區不在同一個物理位置上,`TABLE LOOKUP`算子中就會包含一次 RPC 操作到遠端機器上去獲取主表數據。因此全局索引相比局部索引有更高的維護代價,您應當充分評估主表的分區規則,合理的選擇分區鍵,盡量使更多的查詢條件能夠覆蓋主表的分區鍵,從而盡可能的避免使用全局索引。 ## 使用限制 在分布式環境中,全局索引不可避免的會涉及到分布式事務和跨機的查詢,因此全局索引依賴 GTS 維護全局的一致性快照,所以全局索引只能在 GTS 開啟的時候使用。如果沒有開啟 GTS,則創建全局索引失敗。 示例如下: ~~~ obclient> SET GLOBAL ob_timestamp_service=LTS; Query OK, 0 rows affected (0.06 sec) obclient> CREATE TABLE t1(a int, b int, PRIMARY KEY(a)); Query OK, 0 rows affected (0.17 sec) obclient> CREATE INDEX gkey ON t1(b) PARTITION BY range(b) (PARTITION p0 VALUES LESS THAN (1), PARTITION p1 VALUES LESS THAN (2), PARTITION p2 VALUES LESS THAN(3)); ERROR 1235 (0A000): create global index when GTS is off not supported ~~~ 由于 OceanBase 數據庫的表是索引組織表(IOT),對于分區表而言,為了保證指定主鍵的查詢能很快定位到表所在的分區,所以分區鍵必須是主鍵的子集。如果需要在分區表上創建局部分區唯一索引(Local Partitioned Unique Index),則該索引鍵需要包含主表的分區鍵,而對于全局分區唯一索引(Global Partitioned Unique Index)并沒有這個限制。 示例如下: ~~~ obclient> CREATE TABLE test(pk int,c2 int ,c3 int, PRIMARY KEY(pk)) PARTITION BY hash(pk) partitions 5; Query OK, 0 rows affected (0.20 sec) obclient> CREATE UNIQUE INDEX idx ON test(c2) LOCAL; ERROR 1503 (HY000): A UNIQUE INDEX must include all columns in the table's partitioning function obclient> CREATE UNIQUE INDEX idx ON test(c2, pk) LOCAL; Query OK, 0 rows affected (5.34 sec) obclient> DROP INDEX idx ON test; Query OK, 0 rows affected (0.02 sec) obclient> CREATE UNIQUE INDEX idx ON test(c2) GLOBAL; Query OK, 0 rows affected (17.47 sec) ~~~
                  <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>

                              哎呀哎呀视频在线观看