Je viens d'encapsuler une instruction SQL complexe dans une fonction table sur SQLServer 2000. Lorsque vous consultez le plan de requête pour un SELECT * FROM dbo.NewFunc, il me donne juste une analyse de la table que j'ai créée.Table Valued Fonction Où est passé mon plan de requête?
Je devine que c'est parce que la table est créée dans tempdb et je choisis juste de lui.
Ainsi, la requête est tout simplement:
SELECT * FROM table in tempdb
Mes questions sont les suivantes:
Est-ce l'UDF en utilisant le même plan que l'instruction SQL complexe?
Comment puis-je régler les index pour cette fonction personnalisée? Puis-je voir le vrai plan?
Vous pouvez afficher le plan de requête en exécutant la fonction au moins une fois, puis en recherchant dans le cache, par exemple: https://dba.stackexchange.com/a/198524/18190 – binki