我有一张这样的表:
CREATE TABLE peoples(
user_id int,
people_id text,
email text,
PRIMARY KEY ((user_id), people_id)
);
Run Code Online (Sandbox Code Playgroud)
当我需要导入新人来检查大量人而不是分别检查每一行时,这是一种很好的做法吗?
像这样的东西:
SELECT * FROM peoples WHERE user_id = 1 and people_id IN ('7651-ABCD', '9874-UHAG');
Run Code Online (Sandbox Code Playgroud)
从服务器端,我会检查它是否存在,而不是像这样查询每个人:
SELECT * FROM peoples WHERE user_id = 1 and people_id = '7651-ABCD';
Run Code Online (Sandbox Code Playgroud)
我需要导入大约 30-50 万人,并且必须知道用户是否存在这些人,我必须先读后写。
IN有什么限制吗?IN 的良好做法有多少?
我使用的是二进制协议,所以我更喜欢每次使用 IN 进行选择请求。
谢谢!
我使用 Cassandra 和 Node.js 来通过 everyRow 获取大表。
我需要在每一行上插入数据,但由于某种原因,它没有等待查询并且在完成之前完成。
client.eachRow(query, [], { prepare: true, autoPage : true, fetchSize: 500 }, function(index, row) {
// DB query / insert or update
, function(err, result) {
// Finish all rows.
});
Run Code Online (Sandbox Code Playgroud)
有什么建议么?
cassandra node.js datastax-enterprise datastax datastax-node-driver
我正在从nodejs脚本上载文件,当我尝试复制对象时,如果我尝试删除对象或获取它,则会出现“访问被拒绝”错误-没有问题,并且成功。
CopyObject中是否有任何空格?
params = {
"Bucket": "buacket-name",
"CopySource": "source-path/object.txt",
"Key": "source-path/object2.txt"
};
s3.copyObject(params, function(err, data)); // With a function for success or error.
Run Code Online (Sandbox Code Playgroud)
谢谢。