sql server是否比本地数据库更高效

sql server是否比本地数据库更高效,sql,sql-server,database,performance,visual-studio,Sql,Sql Server,Database,Performance,Visual Studio,我正在用c#在vs中制作一个数据库应用程序。 最初我使用的是sql server创建的数据库 <?xml version="1.0" encoding="utf-8" ?> <configuration> <configSections> </configSections> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5

我正在用c#在vs中制作一个数据库应用程序。 最初我使用的是sql server创建的数据库

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
</configSections>
<startup> 
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
 <connectionStrings>
<add name="ConString" connectionString="Data Source=ARAVIND-HP\SQLEXPRESS;Initial Catalog=businessdata;Integrated Security=True"
    providerName="System.Data.sqlClient" />


</connectionStrings>
</configuration>
<?xml version="1.0" encoding="utf-8" ?>
 <configuration>
<configSections>
</configSections>
<startup> 
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
<connectionStrings>
  <add name="Small_Business_Management.Properties.Settings.businessdataConnectionString1"
    connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\businessdata.mdf;Integrated Security=True"
    providerName="System.Data.SqlClient" />


  </connectionStrings>
  </configuration>

在此之后,我使用了一个本地数据库。我将数据库复制到项目解决方案中。 Visual studio自动配置了app.config。新的app.config

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
</configSections>
<startup> 
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
 <connectionStrings>
<add name="ConString" connectionString="Data Source=ARAVIND-HP\SQLEXPRESS;Initial Catalog=businessdata;Integrated Security=True"
    providerName="System.Data.sqlClient" />


</connectionStrings>
</configuration>
<?xml version="1.0" encoding="utf-8" ?>
 <configuration>
<configSections>
</configSections>
<startup> 
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
<connectionStrings>
  <add name="Small_Business_Management.Properties.Settings.businessdataConnectionString1"
    connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\businessdata.mdf;Integrated Security=True"
    providerName="System.Data.SqlClient" />


  </connectionStrings>
  </configuration>


现在,当我使用这个本地数据库时,我注意到执行操作所需的时间比使用sql server数据库时多1到2秒(有时甚至更多)。为什么会出现这种性能差异

在这里,您确实混淆了两件事,因为SQL Server是一款也可以在本地计算机上运行的软件

关键是,和“真正的”数据库服务器相比,您的本地计算机很可能很差劲。大多数人都没有拥有大量内存和IO的工作站(尽管SSD会改变IO端)。因此,问题不是“本地与非本地”,而是“工作站与服务器”,是的,服务器可以比小型本地工作站强大得多,这取决于它的技术设置。我见过100多核、TB级SSD缓存和超过100张光盘的数据库服务器来满足IO需求

从负面来看,显然,服务器必须向您发送数据。即使是1GB,也比本地安装的SQL Server的内存传输慢。但只有当(a)你提取了大量数据,并且(b)你没有对这些数据进行大量处理时,这才有意义——这使得这更像是一个学术案例

现在,你的情况更好了。您甚至没有安装本地SQL Server(或者:不要使用它),而是使用LocalDb—这显然不是“服务器级”系统。Localdb是一种“改进的express”(),express在资源使用(内存、CPU)方面受到限制。您的服务器很可能是一台真正的服务器,因此它将使用比Express所希望的多得多的rssources,这仅限于:

  • 限制为1个插座或4芯中的较小者
  • 1GB
以今天的标准来看,这是相当可悲的。现在,用同样的术语来说,对于较小的数据库来说,这是一个相当大的问题,如果数据库很小,这也是一个相当大的问题。但是当你点击更大的东西,然后在上面加上一个小分贝,东西就会飞起来

所以,这要视情况而定。是的,服务器可以比本地机器强大得多

希望从环境中得到正确的答案-另一种选择是在同一台机器上启动这两台机器,在这种情况下,可能只是启动时间。LocalDb在不使用时将IIRC关闭数据库,因此无论内存可用性如何,它都是“冷的”。SQL Server使数据库保持活动状态,因此-它是“热的”(即加载的页面仍在内存中,而localdb必须再次从光盘中获取它们)


许多人“视情况而定”。一些“在您的配置上”。

您在这里确实混淆了两件事,因为SQL Server是一个也可以在本地计算机上运行的软件

关键是,和“真正的”数据库服务器相比,您的本地计算机很可能很差劲。大多数人都没有拥有大量内存和IO的工作站(尽管SSD会改变IO端)。因此,问题不是“本地与非本地”,而是“工作站与服务器”,是的,服务器可以比小型本地工作站强大得多,这取决于它的技术设置。我见过100多核、TB级SSD缓存和超过100张光盘的数据库服务器来满足IO需求

从负面来看,显然,服务器必须向您发送数据。即使是1GB,也比本地安装的SQL Server的内存传输慢。但只有当(a)你提取了大量数据,并且(b)你没有对这些数据进行大量处理时,这才有意义——这使得这更像是一个学术案例

现在,你的情况更好了。您甚至没有安装本地SQL Server(或者:不要使用它),而是使用LocalDb—这显然不是“服务器级”系统。Localdb是一种“改进的express”(),express在资源使用(内存、CPU)方面受到限制。您的服务器很可能是一台真正的服务器,因此它将使用比Express所希望的多得多的rssources,这仅限于:

  • 限制为1个插座或4芯中的较小者
  • 1GB
以今天的标准来看,这是相当可悲的。现在,用同样的术语来说,对于较小的数据库来说,这是一个相当大的问题,如果数据库很小,这也是一个相当大的问题。但是当你点击更大的东西,然后在上面加上一个小分贝,东西就会飞起来

所以,这要视情况而定。是的,服务器可以比本地机器强大得多

希望从环境中得到正确的答案-另一种选择是在同一台机器上启动这两台机器,在这种情况下,可能只是启动时间。LocalDb在不使用时将IIRC关闭数据库,因此无论内存可用性如何,它都是“冷的”。SQL Server使数据库保持活动状态,因此-它是“热的”(即加载的页面仍在内存中,而localdb必须再次从光盘中获取它们)

许多人“视情况而定”。一些“在您的配置上”。

(太)多可能性…(太)多可能性。。。