Materialized View
Ketika kita memiliki masalah dengan kinerja pencarian data di tabel yang sangat besar, kita dapat menggunakan materialized view. Materialized view berfungsi sebagai tampilan alternatif dari tabel yang sudah ada, dan dapat dioptimalkan dengan Partition Key agar pencarian data lebih cepat. Selain itu, jika terjadi perubahan pada tabel asli, materialized view juga akan secara otomatis diperbarui untuk mencerminkan perubahan tersebut.
SQL
Copy
-- employee_by_id adalah tabel awal dimana id adalah partition key
create table employee_by_id
(
id int primary key,
name text,
phone set<text>,
position text
);
-- Dibuat materialized view bernama employee_by_position,
-- dimana position sebagai partition key
-- partition key baru wajib not null
create materialized view test_keyspace.employee_by_position
as select * from test_keyspace.employee_by_id
where id is not null
primary key ( position );
-- sekarang employee dapat difilter berdasarkan position
select *
from employee_by_position where position = 'CEO';