can any body suggest which one would be faster for execution(Consider handling large data more than 2 Millions rows)
UPDATE first_table ft, second_table st SET ft.Dataset=3
WHERE st.Dataset =0
AND (ft.Dataset =1 || ft.Dataset=2)
AND (ft.ID IS NULL )
AND st.First_Name = ft.First_Name
AND st.Last_Name = ft.Last_Name
AND st.Zip = ft.Zip
OR
putting following into two different update query
(ft.Dataset =1 || ft.Dataset=2)
The following recommendations will help you in your SQL tuning process.
You'll find 3 sections below:
ALTER TABLE `first_table` ADD INDEX `first_table_idx_datase_id_first_last_zip` (`Dataset`,`ID`,`First_Name`,`Last_Name`,`Zip`);
ALTER TABLE `second_table` ADD INDEX `second_table_idx_dataset_first_last_na_zip` (`Dataset`,`First_Name`,`Last_Name`,`Zip`);
SELECT
ft.Dataset
FROM
first_table ft,
second_table st
WHERE
st.Dataset = 0
AND (
ft.Dataset = 1
OR ft.Dataset = 2
)
AND (
ft.ID IS NULL
)
AND st.First_Name = ft.First_Name
AND st.Last_Name = ft.Last_Name
AND st.Zip = ft.Zip