diff options
author | Ryuta Kamizono <kamipo@gmail.com> | 2018-10-10 05:31:20 +0900 |
---|---|---|
committer | Ryuta Kamizono <kamipo@gmail.com> | 2018-10-10 05:31:20 +0900 |
commit | 92ccb7c75fd0d07479ea3b458b405b8e6667e05f (patch) | |
tree | 5b68a28c358ebe0009e41c4544eba6729db363b9 /railties/test/engine/commands_test.rb | |
parent | 3101a4136bd62787e252d2658eee23001036fa0f (diff) | |
download | rails-92ccb7c75fd0d07479ea3b458b405b8e6667e05f.tar.gz rails-92ccb7c75fd0d07479ea3b458b405b8e6667e05f.tar.bz2 rails-92ccb7c75fd0d07479ea3b458b405b8e6667e05f.zip |
Improve DELETE with JOIN handling to avoid subqueries if possible
Before:
```
Pet Destroy (0.8ms) DELETE FROM `pets` WHERE `pets`.`pet_id` IN (SELECT `pet_id` FROM (SELECT DISTINCT `pets`.`pet_id` FROM `pets` LEFT OUTER JOIN `toys` ON `toys`.`pet_id` = `pets`.`pet_id` WHERE `toys`.`name` = ?) AS __active_record_temp) [["name", "Bone"]]
```
After:
```
Pet Destroy (1.0ms) DELETE `pets` FROM `pets` LEFT OUTER JOIN `toys` ON `toys`.`pet_id` = `pets`.`pet_id` WHERE `toys`.`name` = ? [["name", "Bone"]]
```
Diffstat (limited to 'railties/test/engine/commands_test.rb')
0 files changed, 0 insertions, 0 deletions