FSharp.Data.SqlProvider is slow

Viewed 448

I have simple DB with 4 tables. Table Results has 18 columns. 3 of them are foreign keys. I am trying to get number of all results (about 800k) with this code:

#I @"..\packages\SQLProvider.1.1.3\lib"
#r "FSharp.Data.SqlProvider.dll" 
open FSharp.Data.Sql


let [<Literal>] ConnectionStringmdf = @"Data Source=(localdb)\MSSQLLocalDB;AttachDbFilename=C:\Users\Me\Desktop\myDb.mdf;Integrated Security=True;Connect Timeout=10"    

type Sqlmdf = SqlDataProvider< 
              ConnectionString =   ConnectionStringmdf,
              DatabaseVendor = Common.DatabaseProviderTypes.MSSQLSERVER,
              IndividualsAmount = 1000,
              UseOptionTypes = true, 
              CaseSensitivityChange = Common.CaseSensitivityChange.ORIGINAL
              >
let dbm = Sqlmdf.GetDataContext()

printfn "Results count:\t %i" (dbm.Dbo.Results |>  Seq.length ) 

It takes about 40 seconds to get count of records in one table.

Why is it so slow? What am I doing wrong?

2 Answers
Related