Products

Solutions

Resources

Partners

Community

Blog

About

QA

Ideas Test

New Community Website

Ordinarily, you'd be at the right spot, but we've recently launched a brand new community website... For the community, by the community.

Yay... Take Me to the Community!

Welcome to the DNN Community Forums, your preferred source of online community support for all things related to DNN.
In order to participate you must be a registered DNNizen

HomeHomeOur CommunityOur CommunityCommunity Membe...Community Membe...TurboDNN SQL Scripts 0.9.5 for DNN 7.1.2 to 7.3.3 releasedTurboDNN SQL Scripts 0.9.5 for DNN 7.1.2 to 7.3.3 released
Previous
 
Next
New Post
10/9/2014 9:27 AM
 

I just released TurboDNN SQL Scripts 0.9.5 for DNN 7.1.2 to 7.3.3.

  • Support for DNN 7.3.3 added
  • Fixed a typo in procedure GetAvailableUsersForIndex
  • Adjusted MoveTabToParent procedure

Download for free from https://dnnscript.codeplex.com/releas....

Please follow instructions in readme file.


Cheers from Germany,
Sebastian Leupold

dnnWerk - The DotNetNuke Experts   German Spoken DotNetNuke User Group

Speed up your DNN Websites with TurboDNN
 
New Post
10/9/2014 9:28 PM
 

Why Turbo script is not included by default into new DNN installation?

 
New Post
10/10/2014 5:25 AM
 
I submitted around 150 items with SQL improvements to Jira, around 50 got included, the more important ones got rejected for some reasons and the others are pending.
With this background, I got tired of adding and updating Jira items for it and prefer focusing on SQL improvements itself, which you may easily apply to your database.

Cheers from Germany,
Sebastian Leupold

dnnWerk - The DotNetNuke Experts   German Spoken DotNetNuke User Group

Speed up your DNN Websites with TurboDNN
 
New Post
10/10/2014 12:03 PM
 

As Sebastian says we accepted around 50 of his changes - Whilst I can't comment on the current sql in his file, I can say that of the initial ones submitted some were rejected as they made changes we did not support (e.g. moving logic from the API to stored procedures), or would break standard usage (e.g. usage of schema binding would cause module installs/upgrades to fail unless we dropped and added them back in each time which is an overhead). In other cases we need additional time to analyse the changes, particularly in the cases where there would appear to be no (or perhaps even negative) benefit e.g. an index on a table that commonly contains 1 row etc. As a general rule of thumb when applying performance related changes we need to see evidence of performance improvement e.g. statistics that prove that a change benefits - as there are none for any of Sebastian's changes (not his fault as he was unaware of the requirement), we have not had time to do such testing ourselves, hence why many are still in review.

Finally (and with my platform hat on), I must say that useful as these scripts may be, doing database updates on platform tables is not recommended - it means you are effectively running a fork of DNN and we cannot effectively support you.


Buy the new Professional DNN7: Open Source .NET CMS Platform book Amazon US
 
New Post
10/10/2014 1:14 PM
 
FYI:
  1. I didn't modify any table with a single row - but even in this case, a table should have a primary key and clustered index (which defines the physical order of record, requirement for AzureSQL).

  2. If a table is always queried by a specific filter or order, it makes sense to adjust the clustered index accordingly, despite the number of records - it might speed up joins with larger tables as well.

  3. Some tables are in bad need of index optimization, e.g. Tabs table in DNN core version has an index with 23 columns included (I reduced this number in a previous step from 32), which is far from being optimal. The better solution is moving the clustered key - which requires to recreate primary key - which requires to remove all foreign keys from other tables. As we know that there are 3rd party modules, which placed a foreign key on tabs, in TurboDNN I created a solution to store all 3rd party relations, drop it, modify the table and recreate the keys.

  4. There are known bugs in the data layer, which cannot be fixed just in API and therefore require some logic to be moved to the data layer, e.g. retrieving the master portal of a portal group when retrieving users filtered by roles, as roles are site specific, but profile and other data is taken from master portal. In TurboDNN, this has been solved easily without affecting single portals or measurable performance decrease (just a single record lookup per procedure call).

  5. Schemabinding is used in TurboSchema for several views and functions, allowing to use indexed views, which perform like a single table and may speed up some queries dramatically. The downside of schemabinding: you cannot modify affected tables, as long as it is used in a schemabound view/function. That's the reason, why you have to run TurboUnschema, before performing DNN Upgrades - it replaces the schemabound views, functions and using procedures with unbound versions. I didn't submit any of the schemabinding to Jira, because I was aware that DNN developers are unable to handle it without changes in upgrade process. (this doesn't affect 3rd party module installs, because they should never modify core tables, but upgrades of DNN itself).

  6. While I did not measure the performance gain for each of my changes individually - some are just best practice, others just obvious improvements, I did check in SQL profiler that the performance of each stored procedure has not been affected negatively.

  7. As a summary, small sites will gain maybe around 20% improved page load, large sites with many users and folders will benefit dramatically (from "unusable" to "fair" or from "slow" to "good"). Optimization is an ongoing process, and I am already working on a complete repository to optimize all tables, indexes, constraints, vies, functions and procedures. This does affect compatibility with DNN core release, but it modifies the data layer only, like using a 3rd party data provider for a different database server. This provider should be faster, lass faulty and more consistent than the default one.


Cheers from Germany,
Sebastian Leupold

dnnWerk - The DotNetNuke Experts   German Spoken DotNetNuke User Group

Speed up your DNN Websites with TurboDNN
 
Previous
 
Next
HomeHomeOur CommunityOur CommunityCommunity Membe...Community Membe...TurboDNN SQL Scripts 0.9.5 for DNN 7.1.2 to 7.3.3 releasedTurboDNN SQL Scripts 0.9.5 for DNN 7.1.2 to 7.3.3 released


These Forums are dedicated to discussion of DNN Platform and Evoq Solutions.

For the benefit of the community and to protect the integrity of the ecosystem, please observe the following posting guidelines:

  1. No Advertising. This includes promotion of commercial and non-commercial products or services which are not directly related to DNN.
  2. No vendor trolling / poaching. If someone posts about a vendor issue, allow the vendor or other customers to respond. Any post that looks like trolling / poaching will be removed.
  3. Discussion or promotion of DNN Platform product releases under a different brand name are strictly prohibited.
  4. No Flaming or Trolling.
  5. No Profanity, Racism, or Prejudice.
  6. Site Moderators have the final word on approving / removing a thread or post or comment.
  7. English language posting only, please.
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out