日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

使用二級(jí)索引讀取數(shù)據(jù)

更新時(shí)間:

表格存儲(chǔ)提供了單行讀取和范圍讀取的查詢方式用于讀取索引表中數(shù)據(jù)。當(dāng)返回的屬性列在索引表中時(shí),您可以直接讀取索引表獲取數(shù)據(jù),否則請(qǐng)自行反查數(shù)據(jù)表獲取數(shù)據(jù)。

前提條件

注意事項(xiàng)

  • 索引表只能用于讀取數(shù)據(jù)。

  • 本地二級(jí)索引表的第一列主鍵必須與數(shù)據(jù)表的第一列主鍵相同。

  • 當(dāng)需要返回的屬性列不在索引表中時(shí),您需要自行反查數(shù)據(jù)表來(lái)獲取數(shù)據(jù)。

單行讀取數(shù)據(jù)

調(diào)用GetRow接口讀取一行數(shù)據(jù)。更多信息,請(qǐng)參見(jiàn)讀取單行數(shù)據(jù)

參數(shù)

使用GetRow接口讀取索引表中數(shù)據(jù)時(shí)有如下注意事項(xiàng):

  • tableName需要設(shè)置為索引表名稱。

  • 由于系統(tǒng)會(huì)自動(dòng)將未出現(xiàn)在索引列中的數(shù)據(jù)表主鍵補(bǔ)齊到索引表主鍵中,所以設(shè)置行的主鍵時(shí),需要同時(shí)設(shè)置索引表索引列和補(bǔ)齊的數(shù)據(jù)表主鍵。

示例

使用全局二級(jí)索引

以下示例用于讀取全局二級(jí)索引表中指定主鍵的行數(shù)據(jù)。

var TableStore = require('./index.js');
var Long = TableStore.Long;
var client = require('./client');

var params = {
  //設(shè)置索引表名稱。
  tableName: "<INDEX_NAME>",  
  //設(shè)置索引表主鍵信息。
  primaryKey: [{ 'col1': Long.fromNumber(2) }, { 'pk1': Long.fromNumber(2) }, { 'pk2': Long.fromNumber(1) }]
};

client.getRow(params, function (err, data) {
  if (err) {
    console.log('error:', err);
    return;
  }
  console.log('success:', JSON.stringify(data.row, null, 2));
});

使用本地二級(jí)索引

以下示例用于讀取本地二級(jí)索引表中指定主鍵的行數(shù)據(jù)。

var TableStore = require('./index.js');
var Long = TableStore.Long;
var client = require('./client');

var params = {
  //設(shè)置索引表名稱。
  tableName: "<INDEX_NAME>", 
  //設(shè)置索引表主鍵信息。索引表的第一列主鍵必須和數(shù)據(jù)表的第一列主鍵相同。
  primaryKey: [{ 'pk1': Long.fromNumber(1) }, { 'col1': Long.fromNumber(2) }, { 'pk2': Long.fromNumber(2) }]
};

client.getRow(params, function (err, data) {
  if (err) {
    console.log('error:', err);
    return;
  }
  console.log('success:', JSON.stringify(data.row, null, 2));
});

范圍讀取數(shù)據(jù)

調(diào)用GetRange接口讀取一個(gè)范圍內(nèi)的數(shù)據(jù)。更多信息,請(qǐng)參見(jiàn)范圍讀取數(shù)據(jù)

參數(shù)

使用GetRange接口讀取索引表中數(shù)據(jù)時(shí)有如下注意事項(xiàng):

  • tableName需要設(shè)置為索引表名稱。

  • 由于系統(tǒng)會(huì)自動(dòng)將未出現(xiàn)在索引列中的數(shù)據(jù)表主鍵補(bǔ)齊到索引表主鍵中,所以設(shè)置起始主鍵和結(jié)束主鍵時(shí),需要同時(shí)設(shè)置索引表索引列和補(bǔ)齊的數(shù)據(jù)表主鍵。

示例

使用全局二級(jí)索引

以下示例用于讀取全局二級(jí)索引表中指定主鍵范圍內(nèi)的數(shù)據(jù)。其中第一列主鍵col1的列值為1。

var TableStore = require('./index.js');
var Long = TableStore.Long;
var client = require('./client');

var params = {
  //設(shè)置索引表名稱。假定col1是索引表的第一個(gè)主鍵列。pk1和pk2是數(shù)據(jù)表的主鍵,系統(tǒng)會(huì)自動(dòng)將數(shù)據(jù)表的主鍵補(bǔ)齊到索引表的主鍵中。
  tableName: "<INDEX_NAME>", 
  //設(shè)置讀取方向?yàn)檎蜃x取。
  direction: TableStore.Direction.FORWARD,
  //設(shè)置最大版本數(shù)。
  maxVersions: 10,
  //設(shè)置起始主鍵和結(jié)束主鍵。主鍵范圍為左閉右開(kāi)的區(qū)間。其中INF_MIN表示無(wú)窮小,INF_MAX表示無(wú)窮大。
  inclusiveStartPrimaryKey: [{ "col1": Long.fromNumber(1) }, { "pk1": TableStore.INF_MIN }, { "pk2": TableStore.INF_MIN }],
  exclusiveEndPrimaryKey: [{ "col1": Long.fromNumber(1) }, { "pk1": TableStore.INF_MAX }, { "pk2": TableStore.INF_MAX }],
  //設(shè)置最多返回的數(shù)據(jù)行數(shù)。
  limit: 2
};

var resultRows = []

var getRange = function () {
  client.getRange(params, function (err, data) {
    if (err) {
      console.log('error:', err);
      return;
    }
    resultRows = resultRows.concat(data.rows)

    //如果data.next_start_primary_key不為空,則繼續(xù)讀取數(shù)據(jù)。
    if (data.nextStartPrimaryKey) {
      params.inclusiveStartPrimaryKey = [
        { "col1": data.nextStartPrimaryKey[0].value },
        { "pk1": data.nextStartPrimaryKey[1].value },
        { "pk2": data.nextStartPrimaryKey[2].value }
      ];
      getRange()
    } else {
      console.log(JSON.stringify(resultRows));
    }
  });
}

getRange()

使用本地二級(jí)索引

以下示例用于讀取本地二級(jí)索引表中的所有行數(shù)據(jù)。

var TableStore = require('./index.js');
var Long = TableStore.Long;
var client = require('./client');

var params = {
  //設(shè)置索引表名稱。假定pk1、col1是索引表的第主鍵列。pk2是數(shù)據(jù)表的主鍵,系統(tǒng)會(huì)自動(dòng)將數(shù)據(jù)表的主鍵補(bǔ)齊到索引表的主鍵中。
  tableName: "<INDEX_NAMW>", 
  //設(shè)置讀取方向?yàn)檎蜃x取。
  direction: TableStore.Direction.FORWARD,
  //設(shè)置最大版本數(shù)。
  maxVersions: 10,
  //設(shè)置起始主鍵和結(jié)束主鍵。主鍵范圍為左閉右開(kāi)的區(qū)間。其中INF_MIN表示無(wú)窮小,INF_MAX表示無(wú)窮大。
  inclusiveStartPrimaryKey: [{ "pk1": TableStore.INF_MIN }, { "col1": TableStore.INF_MIN }, { "pk2": TableStore.INF_MIN }],
  exclusiveEndPrimaryKey: [{ "pk1": TableStore.INF_MAX }, { "col1": TableStore.INF_MAX }, { "pk2": TableStore.INF_MAX }],
  //設(shè)置一次最多返回的數(shù)據(jù)行數(shù)。
  limit: 2
};

var resultRows = []

var getRange = function () {
  client.getRange(params, function (err, data) {
    if (err) {
      console.log('error:', err);
      return;
    }
    resultRows = resultRows.concat(data.rows)

    //如果data.next_start_primary_key不為空,則繼續(xù)讀取數(shù)據(jù)。
    if (data.nextStartPrimaryKey) {
      params.inclusiveStartPrimaryKey = [
        { "pk1": data.nextStartPrimaryKey[0].value },
        { "col1": data.nextStartPrimaryKey[1].value },
        { "pk2": data.nextStartPrimaryKey[2].value }
      ];
      getRange()
    } else {
      console.log(JSON.stringify(resultRows));
    }
  });
}

getRange()

常見(jiàn)問(wèn)題

相關(guān)文檔

  • 當(dāng)日常業(yè)務(wù)中有非主鍵列查詢、多列組合查詢、模糊查詢等多維查詢需求以及求最值、統(tǒng)計(jì)行數(shù)、數(shù)據(jù)分組等數(shù)據(jù)分析需求時(shí),您可以將這些屬性作為多元索引中的字段并使用多元索引查詢與分析數(shù)據(jù)。 更多信息,請(qǐng)參見(jiàn)多元索引

  • 如果需要使用SQL查詢和分析數(shù)據(jù),您可以使用SQL查詢功能實(shí)現(xiàn)。更多信息,請(qǐng)參見(jiàn)SQL查詢