在SQL语言中使用过滤器和操作当前值得吗?我最近一直在处理沉重的表,因此带上整个表并使用当前编程语言必须使用的任何工具来处理表,似乎更快。
虽然我知道运行程序的机器应该使用它,但是当前大多数机器仅通过表变量调整就能胜过查询处理吗?还是这是我一直以来都有更好成绩的幸运镜头?
答案 0 :(得分:0)
答案简短,在数据库中进行筛选的速度更快。通过过滤应用程序中的数据获得更快结果的原因可能是由于数据库设计不正确。通常是由于缺少索引引起的。
例如,假设您有一个名为 Student 的表,该表代表特定学院中的所有学生。我们还假设该字段具有代表其GPA的字段,并且我们想要一个仅返回GPA高于3.0的学生的查询。如果字段GPA上具有正确的索引,则在SQL查询本身中进行检查始终会更快。如果您在GPA字段上没有正确的索引,那么在应用程序代码中这样做可能会更快。
如果您想了解更多有关数据库索引的信息,这是有人问的另一个问题:How does database indexing work?。