sql server是否比本地数据库更高效
我正在用c#在vs中制作一个数据库应用程序。 最初我使用的是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
<?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
许多人“视情况而定”。一些“在您的配置上”。您在这里确实混淆了两件事,因为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