Topik ini menjelaskan dampak modifikasi pengurutan temporal dalam pernyataan SQL terhadap kompatibilitas antara deployment dan data state.
Modifikasi yang tidak memengaruhi atau sebagian memengaruhi kompatibilitas
Jika Anda menggunakan ORDER BY untuk mengurutkan data berdasarkan proctime secara menaik, Anda dapat memodifikasi field dalam pernyataan SELECT tanpa memengaruhi kompatibilitas penuh deployment dengan data state.
-- Pernyataan SQL asli: select a, b, c from MyTable order by proctime asc; -- Tambahkan field input d ke pernyataan SELECT. Setelah modifikasi ini, deployment tetap sepenuhnya kompatibel dengan data state. select a, b, c, d from MyTable order by proctime asc;Jika Anda menggunakan ORDER BY untuk mengurutkan data berdasarkan kunci secara menaik, Anda dapat memodifikasi field dalam pernyataan SELECT tanpa memengaruhi kompatibilitas penuh deployment dengan data state.
// Pernyataan SQL asli: select a, b, ts from MyTable order by ts asc; // Hapus field input ts dari pernyataan SELECT. Setelah modifikasi ini, deployment tetap sepenuhnya kompatibel dengan data state. select a, b from MyTable order by ts asc;
Modifikasi yang menyebabkan ketidaksesuaian penuh
Jika Anda menggunakan ORDER BY untuk mengurutkan data berdasarkan rowtime, Anda tidak dapat memodifikasi field dalam pernyataan SELECT karena hal ini akan membuat pekerjaan tidak kompatibel dengan data state.
-- Pernyataan SQL asli: select a, b, c from MyTable order by ts asc; -- Tambahkan field input d ke pernyataan SELECT. Setelah modifikasi ini, pekerjaan menjadi tidak kompatibel dengan data state. select a, b, c, d from MyTable order by ts asc;Jika Anda memodifikasi atribut terkait ORDER BY, seperti field pengurutan atau arahnya, deployment menjadi tidak kompatibel dengan data state.
-- Pernyataan SQL asli: select a, b, c from MyTable order by ts asc; -- Tambahkan field a ke ORDER BY. Setelah modifikasi ini, deployment menjadi tidak kompatibel dengan data state. select a, b, c from MyTable order by ts asc, a desc;