1
我的查詢是爲特定考試獲得特定學生的分數。對於卡桑德拉表的設計,選項1,複合分區鍵 - 行搜索VS.列搜索
CREATE TABLE student_score (
student_name text,
exam_name text,
score int,
exam_time timeuuid
PRIMARY KEY (exam_name,student_name)
)
WITH CLUSTERING ORDER BY (student_name DESC);
EXAM_NAME將分區鍵,並且所有學生將成爲廣排。
選項2,
CREATE TABLE student_score (
student_name text,
exam_name text,
score int,
exam_time timeuuid
PRIMARY KEY ((exam_name,student_name))
)
EXAM_NAME和student_name一起形成分區鍵,因此不存在寬的行。
選項1是標準方式。但選項2有什麼問題?
Tks。假設是學生姓名的唯一性。是的,選項1將有潛在的熱點問題。除了查詢的where子句的區別外,還有什麼優點和缺點?像存儲,查詢速度等 – Hammer
yes查詢速度肯定會增加,因爲數據不會像選項1那樣被過濾掉。選項2將創建類似於RDMS行的結構 –