Extraneous LOWER() calls in Membership provider

Discussion of open issues, suggestions and bugs regarding ADO.NET provider for MySQL
Post Reply
njb
Posts: 4
Joined: Sat 25 Feb 2017 01:12

Extraneous LOWER() calls in Membership provider

Post by njb » Thu 28 Sep 2017 15:43

Hi,
We are discovering that there are apparently extraneous calls to LOWER() in the Membership Provider's select statements. These slow the queries down tremendously and are completely unnecessary when the MySQL database is set to case insensitivity. Is there any way to remove the LOWER() calls via a config file?

We are running the very latest dotConnect for MySQL.

I need to point out that this is mission critical for us. Our Membership table has hundreds of thousands of rows and the LOWER() calls force a _full table scan_ of the membership table. This obviously slows things down tremendously. We have captured the SELECT calls and removing the LOWER() calls from the SELECT speeds things up by an order of magnitude. I cannot find a way to open a trouble ticket, so I guess this is the only way to do so

Thanks..

Pinturiccio
Devart Team
Posts: 2141
Joined: Wed 02 Nov 2011 09:44

Re: Extraneous LOWER() calls in Membership provider

Post by Pinturiccio » Tue 03 Oct 2017 11:56

Yes, you are right. We are using the LOWER function in select queries. We will investigate the possibility to remove this function from our queries in the Membership provider and post here about the results.

euph411
Posts: 2
Joined: Sun 24 Dec 2017 17:07

Re: Extraneous LOWER() calls in Membership provider

Post by euph411 » Sun 24 Dec 2017 17:47

Hello,

Does Devart know when it can resolve this issue?

I am working to convert a large Membership database (almost a million rows/users) from SQL to MySQL, using Devart's provider. Queries that are sub-second with MSFT's SQL Membership provider can literally take *minutes* using MySQL/Devart because LOWER() forces a full table scan for EACH user login. If I replace the underlying query to remove the LOWER(), it is fast. Without this fix, it appears dotConnect/MySQL cannot be used for an application that has many users.

Please let me know if you need help to reproduce this problem.

Thank you.

Pinturiccio
Devart Team
Posts: 2141
Joined: Wed 02 Nov 2011 09:44

Re: Extraneous LOWER() calls in Membership provider

Post by Pinturiccio » Tue 02 Jan 2018 15:36

euph411 wrote:Please let me know if you need help to reproduce this problem.
We have already reproduced the issue.

We are working on the issue and will post here when we get any results. At the moment we cannot tell you when exactly the issue will be fixed.

euph411
Posts: 2
Joined: Sun 24 Dec 2017 17:07

Re: Extraneous LOWER() calls in Membership provider

Post by euph411 » Wed 04 Apr 2018 16:51

Hi,
I thought I'd check in to see if there was any ETA to solve this issue? We remain unable to use Devart's provider in our production environment because it is too slow due to the Lower() table scan problem against thousands of user records.
Thank you!

Pinturiccio
Devart Team
Posts: 2141
Joined: Wed 02 Nov 2011 09:44

Re: Extraneous LOWER() calls in Membership provider

Post by Pinturiccio » Wed 11 Apr 2018 14:55

Sorry for the late response. The investigation is in progress. We will post here when we get any results. There is no ETA at the moment.

Post Reply