This thread looks to be a little on the old side and therefore may no longer be relevant. Please see if there is a newer thread on the subject and ensure you're using the most recent build of any software if your question regards a particular product.
This thread has been locked and is no longer accepting new posts, if you have a question regarding this topic please email us at support@mindscape.co.nz
|
My company has a huge portal with many thousands of classic ASP pages that's scheduled for a rewrite in .NET. I'm evaluating what data access model to switch to and Linq-to-Sql is a possibility. However, our databases are MySQL (and don't intend to change them atm) so the out of the box support from Visual Studio.NET to Linq/MySQL isn't an option. I'm currently checking out the functionality of LightSpeed as a possibility to use it for database queries/updates. Although I'm quite experienced in .NET, i have never used Linq as a way to access database; we usually use string SQLs. While I'm doing the evaluation, I'm noticing that any classical joins that we usually would have done using the 'INNER JOIN tablename ON (tbl1.id = tbl2.fkid)' are all being converted to sqls using the 'EXISTS' function + sub query. i've done some tests using this notation and although (it seems) that it returns the same data, MySQL 5.0 doesn't really like it performance-wise. Some queries using the INNER JOIN syntax are executed in less than 100ms while the same query using the LightSpeed Linq (using the EXISTS function) take over 5s. From my preliminary analysis, it looks like the subselect execution plan uses non-optimal indices. Performance is a crucial thing for us since we deal with large tables. I have tried to rewrite the Linq queries using the 'join' keyword, but lightspeed is giving a NotSupportedException. Any tips on how to solve the issue? G |
|
|
Sorry for the delay in getting back to you on this. You are correct that we don't support directly specifying joins. Unfortunately I don't have any recommendations for you as yet as I am going to need to do a bit of investigation, but I will get back to you as soon as possible. |
|