Điều gì sẽ nhanh hơn?Oracle Merge vs Chọn rồi Chèn hoặc Cập nhật
Merge tuyên bố
MERGE INTO table_name
USING dual
ON (row_id = 'some_id')
WHEN MATCHED THEN
UPDATE SET col_name = 'some_val'
WHEN NOT MATCHED THEN
INSERT (row_id, col_name)
VALUES ('some_id', 'some_val')
hoặc
truy vấn một tuyên bố chọn sau đó sử dụng một bản cập nhật hoặc chèn tuyên bố.
SELECT * FROM table_name where row_id = 'some_id'
nếu rowCount == 0
INSERT INTO table_name (row_id,col_name) VALUES ('some_id','some_val')
khác
UPDATE table_name SET col_name='some_val' WHERE row_id='some_id'
Tôi đã suy nghĩ giống nhau nhưng làm thế nào về quá trình trên máy chủ oracle? – DRTauli
Còn quy trình thì sao? –
rowid chỉ là các hàng pk. – DRTauli