Apakah ada cara untuk memeriksa kesetaraan matematis dari dua pernyataan SQL?
Saya punya dua pernyataan SQL:
- SQL_STATEMENT_1
- SQL_STATEMENT_2
Menjalankan kedua pernyataan pada data dan membandingkan output tidak membantu sama sekali.
Himpunan matematika di balik pernyataan perlu dievaluasi, seperti yang dilakukan oleh pemecah persamaan.
Di luar ruang lingkup pertanyaan saya adalah hal-hal seperti:
- perbandingan selain kesetaraan (lebih besar dari, kurang dari, SEPERTI, ...)
- prosedur tersimpan, atau pemicu
- Ekspresi Common Table (WITH)
Dalam lingkup:
- Subseleksi: WHERE other_id IN (PILIH id DARI WHERE lainnya ...)
- BERGABUNG
select * from foo where id = 4
pasti akan memiliki rencana eksekusi yang sama denganselect * from foo where id = 2
select * from foo where id = 4
dan select * from foo where id = 2
memiliki dua rencana eksekusi yang berbeda jika 1) statistik indeks tidak mutakhir dan 2) bahkan jika statistik indeks mutakhir, distribusi utama id adalah miring. (ID yang disediakan bukan kunci unik).