SQLite是如何比较快的Microsoft Access MDB? [英] How fast is SQLite compared to Microsoft Access MDB?

查看:380
本文介绍了SQLite是如何比较快的Microsoft Access MDB?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

目前我正在考虑替换的Microsoft Jet MDB数据库的使用在单用户通过SQLite数据库的.NET C#Windows窗体应用程序。

Currently I'm thinking about replacing the usage of Microsoft Jet MDB databases on a single-user .NET C# Windows Forms application by a SQlite database.

我的目标是降低像喷气驱动和一些严重错误的安装要求当喷气机的安装被损坏了(我们的客户飘飞报告这些错误)。

My goal is to lower installation requirements like the Jet drivers and some nasty errors when the Jet installation got corrupted (we have customers every now and then reporting those errors).

我的关于性能的问题是:

是否有任何性能基准测试出有一个相当小的数据集进行比较MDB和SQLite?

Are there any performance benchmarks out there comparing MDB and SQLite on a rather small sets of data?

或者有没有谁已经做了这一步,可以讲一些故事从自己的经验?任何开发

Or are there any developers who already did this step and can tell some stories from their own experiences?

(我使用Google目前都没有成功小时)

更新

虽然数据库不包含的的多条记录和表格,我想表现仍然是一个问题,因为数据是被访问经常。

Although the database does not contain that many records and tables, I think performance is still an issue, since the data is being accessed quite often.

中的应用是所谓的桌面CMS系统呈现的HTML页面;在渲染过程中,相当多的数据被访问和正在执行大量的SQL查询。

The application is a so called "Desktop CMS system" that renders HTML pages; during the rendering, quite a lot of data is being accessed and lots of SQL queries are being executed.

更新2

刚刚发现这表明一些速度比较,遗憾的是不与MDB,据我可以看到这个文档

更新3

由于要求,一些数字:

  • 约。 30数据库中的表。
  • 在大多数表以低于100的记录方式。
  • 约。 5表与一般几百至几千条记录。
  • 在一个大的MDB文件将约为60 MB。

更新4

只是为了改写:我的没有的具有与当前MDB实现任何性能问题。我问这个问题,而不是使用MDB时的SQLite得到一种感觉的表现是否相等(或更好)。

Just to rephrase: I am not having any performance issues with the current MDB implementation. I am asking this question to get a feeling whether the performance would be equal (or better) when using SQLite instead of MDB.

推荐答案

如果你决定做自己的基准测试,我提出这个程序到您的Jet表导出为CSV文件。然后你可以将它们导入到您的SQLite数据库。

In case you decide to do your own benchmark testing, I offer this procedure to export your Jet tables to CSV files. Then you can import them into your SQLite database.

Public Sub DumpTablesAsCsv()
    Dim db As DAO.Database
    Dim tdf As DAO.TableDef
    Dim strCsvFile As String
    Dim strFolder As String
    Dim strTable As String

    strFolder = CurrentProject.Path & Chr(92)
    Set db = CurrentDb
    For Each tdf In db.TableDefs
        strTable = tdf.Name
        If Not (strTable Like "MSys*" Or strTable Like "~*") Then
            strCsvFile = strFolder & strTable & ".csv"
            DoCmd.TransferText acExportDelim, , strTable, _
                strCsvFile, HasFieldNames:=True
        End If
    Next tdf
    Set tdf = Nothing
    Set db = Nothing
End Sub

这篇关于SQLite是如何比较快的Microsoft Access MDB?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆