我必须在 C# 中创建一个 Windows 窗体应用程序才能使用非常大的数据库。它必须非常快速地在数据库中找到信息。我的问题是使用大型数据库的最快方法是什么,可以非常快速地找到信息,任何提示、教程或文章都会对我有很大帮助。
谢谢。
我必须在 C# 中创建一个 Windows 窗体应用程序才能使用非常大的数据库。它必须非常快速地在数据库中找到信息。我的问题是使用大型数据库的最快方法是什么,可以非常快速地找到信息,任何提示、教程或文章都会对我有很大帮助。
谢谢。
我的问题是使用大型数据库的最快方法是什么,可以非常快速地找到信息
与小型数据库相同的方式,称为正确编程。
看,无论大小——如果它是一个 SQL 数据库,你获取数据的唯一方法就是 SQL。没有神奇的捷径。大数据库 = 合适的服务器 + 良好的编程实践。时期。你需要找到所有以 JON 开头的人——你发出一个 select 语句,无论这些人表有 1000 还是 10 亿个条目。没有替代。
现在,我可以说“保持 SQL 语句简单”,但这同样适用于小型数据库。
避免返回过多,限制 UI 中的结果(在查询结果中没有人需要 10.000 个条目 - 拉 501,告诉超过 500 个并请添加更多条件),但同样:这通常是一个好习惯,不管有多大数据库是。
使用大数据无法摆脱的是愚蠢的编程错误,比如没有索引和强制表扫描,但是大数据意味着你有更大的机会做数据库的人实际上知道的不仅仅是“选择查找数据”的 SQL。哎呀,如果这真的是一个大型数据库并且您不是在做梦,那么服务器可能可以在一秒钟内使用蛮力查询一个 1 亿行的表 - 我的最后一个大型数据库可以(21000gb,我们添加了大约 1 亿行到每天都有一些桌子)。
限制结果集,保持数据库设计没有像没有索引这样的愚蠢错误,这就是你能做的。
最快的方法可能意味着几件事
最快的编写代码,以最短的访问时间来取回数据。
如果您的数据集非常大,那么您可能希望使用存储过程,因为您可以获得相关的数据库查询分析工具来优化它。
但是,如果您的查询很简单 - 即简单的 where 条件或没有连接,那么世界就是您的牡蛎。
它还取决于您的数据库,是 sql、oracle、postgres、mysql 还是 nosql 之类的东西,或者只是一个平面 csv 文件?它们都有点不同,因此可能会使用不同的建议。
50,000 行并不是那么大。大多数数据库都会处理它并大喊“MOAR”