First of all, it is a good performance practice (scroll down to tips) to add columns:
Using Columns method you can restrict the amount of data loaded from the database and speed up the querying process.
Secondly: You can always look what kind of SQL query was produced by your query builder:
DocumentHelper.GetDocuments()
.Type("MyNameSpace.ArticlePage")
.Columns("Title")
.WithCoupledColumns()
.Culture("en-US")
.CombineWithDefaultCulture(false)
.OnCurrentSite()
.LatestVersion()
.WhereEquals("NodeID", 45)
.GetFullQueryText();
If you run these 2 queries in .SQL do you get different results?
P.S. Do DocumentHelper.GetDocuments("MyNameSpace.ArticlePage")
instead DocumentHelper.GetDocuments() .Type("MyNameSpace.ArticlePage")
. it should be a better performance.
P.P.S. I am thinking ... if you getting only title with coupled columns ... is it not enough to produce URL. You need the info from view_cms_tree_joined
.
Can share the code how your get the absolute URL?