Ben SQL sorguları açısından, bunlar derlenmiş Are demek veya düşük seviyede yorumlanmalıdır ?. Dahili olarak nasıl çalışır, yorumlanmış veya derlenmiş bir SQL ifadesidir?(... MySQL, SQL Server.) Bir DBMS mi yorumlanır veya derlenmiş?
cevap
Genellikle bu gibi çalışıyor:
SQL String ---[Optimizer]---> Execution Plan ---[Execution]---> Result
Ben şahsen bir derleyici çok benzer bir şey olarak optimize edici (sorgu planlayıcısı) görmek isterler. SQL deyimini daha kolay yürütülebilir bir şeye dönüştürüyor. Ancak, çip üzerinde doğuştan yürütülebilir değil. Bu "derleme" oldukça pahalıdır - tıpkı C++ kodunu derlemek gibi. Farklı yürütme değişkenlerinin değerlendirildiği kısım budur; kullanılacak dizini ekleme sırası, vb. Bu mümkün olduğunda bağlama parametreleri kullanarak Bundan kaçınmak için iyi bir uygulamadır.
yürütme planı
sonra veritabanı tarafından yürütülmesi için alınır. Ancak, strateji zaten sabittir. Yürütme sadece bunu yapıyor. Bu bölüm, SQL değil, yürütme planını yorumlamaktır. derleme daha kolay yorumlanabilir bir ikili forma kaynak kodunu döner nerede Sonuçta, bu, bir şekilde, Java veya .NET benzer. Bu argüman için JIT'i yoksayarsak, bir Java programının yürütülmesi bu meta-kodu yorumlamaktır.
benim free eBook "Use The Index, Luke" içinde using bind parameters for (Oracle) performance faydasını açıklamak için bu şekilde kullandık.
üzerinde farklı noktalarda olduğundan Yanlış olduğumda lütfen beni düzeltin: Optimizer'ın, yürütme planı için önbellek kullanabileceğini eklemek isteyebilirsiniz; – bvh
Modern SQL ortamlarında, daha iyi bir plan elde ederseniz, yeniden kullanmak istediğiniz veya varolan derlenmiş bloğu veya tüm aşamaları yeniden başlatıp başlatmayacağınız belli bir iş akışında karar verdiğiniz aşamalı bir yaklaşımdır. argümanların belirli bir kombinasyonu.
Ben sonuç (daha sonra çalıştırılabilir kod için derlenmiş) (yeniden) compiletime ve icra zaman arasında kapalı bir ödeme olduğunu düşünüyorum. Sorgunun karmaşıklığına bağlı olarak, çalışma zamanında verilen argümanların özelliklerini uygulayan bir yeniden derleme, mevcut kodun yürütme süresi, öngörülebilir minimum kaynak tüketimi (örneğin, iki satır ve geri dönüş) nedeniyle zaten düşükse, çabaya değmeyebilir.
Daha yüksek sorgu karmaşıklığı ve tahmini kaynak tüketimi (çok sayıda büyük tablo, önemli dizin seçimi, olası tablo taraması) ile istatistiklerin ayrıntı düzeyi devreye girer. yani, seçiciliğiniz varsa, aykırı değerler, aralık seçicilikleri, avg. alan boyutları, fiziksel harita boyutları, vb. optimizer, farklı argüman kümeleriyle çok farklı sonuçlara ulaşabilir.
10 ++ değişken argümanlarla 25-birleşim için en iyi planın hesaplanması zamanını ve kaynaklarını alabilir. Sonuç, her şey için bir sürümden daha hızlı ve daha verimli ise, bu çabaya değer. Özellikle verilen argümanlar seti oyun değiştiricileri içerebilir ve sorgu sık sık tekrardan yürütülür. Nihayet
, her satıcı ile değişebilir sizin kilometre;)- 1. SQL Server CE hatası - yalnızca derlenmiş kodda
- 2. çeşitli DBMS sistemleri
- 3. Kayıt veya SQL Server
- 4. Sql Server ve Mysql Server arasında eşitleme
- 5. MySQL REGEXP to SQL Server
- 6. SQL Server bir web isteği gönderebilir mi?
- 7. Redis'ten yorumlanmış veya derlenmiş mi denir?
- 8. bir SQL Server veritabanı için veya
- 9. Bir aygıt sürücüsü LLVM IR'de yazılmış veya derlenmiş olabilir mi?
- 10. SQL Server yerel mi yoksa uzak mı?
- 11. SQL-Server ve MySQL birlikte çalışabilirliği?
- 12. Javascript derlenmiş veya yorumlanmış bir dil midir?
- 13. SQL Server
- 14. Sql-Server (express), adlandırılmış bir örnekten localhost'a değiştirilsin mi?
- 15. SQL Server:
- 16. SQL Server, bir 'durum'
- 17. Bağlanılamadı: Uzaktan SQL Server bağlanmaya çalışırken Adaptive Server yok veya
- 18. SQL Server Service Broker gelecekte SQL Azure'da desteklenecek mi?
- 19. SQL Server için GROUP_CONCAT
- 20. SQLite vs SQL Server
- 21. Deseni derlenmiş bir re'den mi geri almak?
- 22. SQL Server
- 23. iostat nasıl yorumlanır?
- 24. SQL Server
- 25. SQL Server Karma Dizinleri
- 26. SQL Server şemasını bir SQL sorgusuyla alın?
- 27. Sql Server TOP - kullanılmış?
- 28. SQL Server Fulltext arama ben bir SQL Server tablosuna sahip
- 29. Toad - DBMS Çıktı penceresinin Toad v11 için DBMS Çıktı penceresinde
- 30. SQL Server
Özellikle MySQL soran, ya da herhangi bir DBMS musunuz? Farklı DBMS'ler, derleme ve yorumlama spektrumu – einpoklum