在应用程序代码(如Python、Java或PHP)中嵌入SQL语句时,在SELECT语句中使用星号(*)被认为是一种不好的做法,原因如下:
- 数据库性能。假设您有一个包含许多列和大量数据的表,带星号(*)的SELECT语句将从表的所有列中选择数据,可能会检索到比应用程序所需更多的数据。
- 应用程序的性能。从数据库中检索不必要的数据会增加PostgreSQL服务器和应用服务器之间的流量。因此,这可能导致响应时间变慢,并降低应用程序的可伸缩性。由于这些原因,建议尽可能在SELECT子句中显式指定列名。这确保了只从数据库检索必要的数据,有助于提高查询的效率和优化。
*星号仅仅适合ad-hoc即席查询可以自由检索指定列的数据