草庐IT

无例外

全部标签

避免使用SELECT* 的九个理由及两个例外场景

我们经常会看到一些文章警告使用SELECT*是一种错误的习惯,应该明确地指定查询的列名,譬如在最新《阿里java开发手册(泰山版)》中对此做了强制性的规定。而大家对其原因只是一知半解。本文将从两个角度解释避免使用SELECT*的9个理由,同时讨论2个合理使用SELECT*的例外场景。性能问题从性能的角度,在应用中使用SELECT*可能会引起查询的性能问题,主要表现在以下六个方面。增加解析成本:用SELECT*数据库需要解析更多的对象、权限、属性等相关内容,这个影响可能较小,但是它确实会对数据库的元数据查询造成一定的压力。增加I/O操作,对于无用的大字段,如VARCHAR、LOB、TEXT类型的