Bir programcı, aynı veritabanı yapısını ve aynı verileri kullanan aynı uygulamayı, biri Oracle 8 ve diğeri Oracle 9 ile olmak üzere yalnızca iki ayrı veritabanında test ediyor ve karşılaştırıyor.
Uygulama, yan tümcesi olmayan bir sorgu çalıştırır ORDER BY
.
ORDER-BY-less sorgusunun satırları her iki veritabanında da aynı sırada döndürmesi gerektiğini iddia eder.
Olasılık ORDER BY yan tümcesi sağlamadığınız sürece aynı satır sırası garanti olmadığını söylüyorum.
Veritabanı aynı dizinlere ve anahtarlara sahiptir. Ancak açıklama planı, veritabanlarından birinde motorun birleştirilmiş tablolardan birinin anahtarını kullandığını, diğer veritabanında ise başka bir veritabanını kullandığını göstermektedir.
İki DB ortamının eşit olmadığını, bu yüzden farklı istatistiklere, farklı rdbms motorlarına vb. Sahip olduklarını, ancak orijinal veritabanının sahip olduğu her dizini çoğaltmayı başaramadığım için değil.
Ona, ORDER BY
eğer emir gerçekten önemliyse, açıklık getirmesi gerektiğini söylüyorum.
Soru
Böylece onu daha iyi açıklayabilirim:
Sorgulama açık olmadığında bir sorgu satırları bir ORDER BY yan tümcesi sağlar ve bu sorgu neden satırları aynı sırada döndürmez?