On 21/06/10 12:02, Publius Maximus wrote:
> 2010/6/21 Ricardo Aráoz<[email protected]>:
>    
>> On 19/06/10 18:51, Publius Maximus wrote:
>>      
>>> This is the magic behind sending a LINQ expression from a client to a
>>> SQL server, and the code actually being executed on the server side. I
>>> don't mean like a typical SQL query, where it sends text that needs to
>>> be parsed, in this case, it's the fully "ready to execute"
>>> representation that gets immediately executed.
>>>
>>>
>>>        
>> You mean the difference is the sql query gets parsed in the client? Or
>> the coder has to parse it? What's the big advantage of that? Never had
>> problems with an sql query being parsed in the server.
>> And what is a "ready to execute representation"? Do you mean the server
>> does not get to decide the strategy of the query based on resources and
>> such?
>>      
> Because SQL server since 2005 is built on the CLR, it can take the
> expression tree created by the LINQ query -- already pre-compiled on
> the client -- and execute it more or less as-is on the server.
>    

So this LINQ is just another way to be circumscribed to M$ products? 
What if I want to run it against a non M$ engine?

And, why do we presume that pre-compiling on the client is better than 
pre-compiling on the server?

> This isn't to suggest there was a problem with parsing SQL on the
> server side, though precompiled queries defined on the server side are
> known to execute better than their text-based equivalents coming
> dynamically from the client side.

This is because the server is somehow unable to do *exactly* the same 
pre-compilation the client does? Why? Are servers a bit dumb?
Pre-compiled queries defined on the server side  are faster because the 
server does not have to do the pre-compilation step on the run. That's all.

> The idea of passing code around as data is the main innovation, and it
> is already proving important for multicore and distributed computing
> in practice.
>
>    
You mean passing code around as data (as in sending an sql sentence to a 
remote server) is nowadays considered an innovation?
Is then linq addressed to very specific multicore and distributed 
computing needs, and the rest of us mortals may just dismiss it and save 
the time of learning yet another complicated way of doing the same thing 
we've been doing for years?


_______________________________________________
Post Messages to: [email protected]
Subscription Maintenance: http://leafe.com/mailman/listinfo/profox
OT-free version of this list: http://leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message: http://leafe.com/archives/byMID/profox/[email protected]
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.

Reply via email to