sql >> Database >  >> RDS >> Sqlserver

Wat doet de uitvoering van query's met deze query in SQL Server 2005?

Uw code maakt ongeldige aannames. In een declaratieve set-georiënteerde taal zoals SQL is de uitvoering vrij om het uitvoeringsplan te kiezen dat het goeddunkt. Wat u als inefficiënt ziet, is hoogstwaarschijnlijk een geldige optimalisatie waarbij de titel eerst wordt geprojecteerd uit een index die voldoet aan de predikaten op lastmodified of iets dergelijks. Je kunt geen aannames doen over de volgorde van uitvoering, en daarom mag je in de projectielijst geen uitdrukkingen hebben zoals SUBSTRING (..,9,..) die op bepaalde rijen zullen bombarderen.

Een ander voorbeeld van problemen die voortkomen uit een soortgelijke ongeldige veronderstelling zijn SQL Server boolean operator kortsluiting evaluatiefouten.




  1. Update colPos met typo3-extensie flux 9.0.1

  2. mysql twee kolommen primaire sleutel met automatische verhoging

  3. Wat is de beste manier om een ​​berichtenwachtrijtabel in mysql te implementeren?

  4. Bestel tafel willekeurig maar met uitzonderingen