相关疑难解决方法(0)

哪个更快/更好?SELECT*或SELECT column1,colum2,column3等

我听说SELECT *在编写SQL命令时使用通常是不好的做法,因为它对SELECT您特别需要的列更有效.

如果我需要SELECT表中的每一列,我应该使用

SELECT * FROM TABLE
Run Code Online (Sandbox Code Playgroud)

要么

SELECT column1, colum2, column3, etc. FROM TABLE
Run Code Online (Sandbox Code Playgroud)

在这种情况下,效率真的重要吗?SELECT *如果你确实需要所有的数据,我认为内部会更优化,但我说的是没有真正了解数据库.

我很想知道在这种情况下最佳做法是什么.

更新:我可能应该指定我真正想要做的唯一情况SELECT *是当我从一个表中选择数据时我知道所有列总是需要被检索,即使添加了新列.

鉴于我所看到的反应,这仍然是一个坏主意,SELECT *永远不应该用于更多技术原因,我曾经考虑过.

sql database

159
推荐指数
8
解决办法
6万
查看次数

不使用select*的原因是什么?

我见过很多人声称你应该在选择查询中专门命名你想要的每一列.

假设我要使用所有列,为什么我不使用SELECT *

即使考虑问题*SQL查询 - 从视图中选择*或从视图*选择col1,col2,... colN,我不认为这是完全重复的,因为我从一个略微不同的角度来看待问题.

我们的原则之一是不要在它之前进行优化.考虑到这一点,似乎使用SELECT *应该是首选方法,直到它被证明是一个资源问题或模式几乎是一成不变的.据我们所知,在开发完成之前不会发生这种情况.

那就是说,不使用是否有一个压倒一切的问题SELECT *

sql

135
推荐指数
6
解决办法
2万
查看次数

MySQLi中的SELECT*FROM

我的网站相当广泛,我最近刚切换到PHP5(称我为大器晚成).

我之前的所有MySQL查询都是这样构建的:

"SELECT * FROM tablename WHERE field1 = 'value' && field2 = 'value2'";
Run Code Online (Sandbox Code Playgroud)

这使它非常简单,友好.

我出于明显的安全原因,现在正试图切换到mysqli,并且SELECT * FROMbind_param需要特定参数时,我很难弄清楚如何实现相同的查询.

这句话是否已成为过去?

如果是,如何处理涉及大量列的查询?我真的需要每次都输入它们吗?

php mysqli

23
推荐指数
3
解决办法
10万
查看次数

SQL查询 - 从视图中选择*或从视图中选择col1,col2,... colN

我们使用的是SQL Server 2005,但这个问题适用于任何RDBMS.

从视图中选择所有列时,以下哪项更有效?

Select * from view 
Run Code Online (Sandbox Code Playgroud)

要么

Select col1, col2, ..., colN from view
Run Code Online (Sandbox Code Playgroud)

sql sql-server

11
推荐指数
2
解决办法
6万
查看次数

如何使用PDO动态构建查询

我正在使用PDO并希望做这样的事情:

$query = $dbh->prepare("SELECT * FROM :table WHERE :column = :value");
$query->bindParam(':table', $tableName);
$query->bindParam(':column', $columnName);
$query->bindParam(':value', $value);
Run Code Online (Sandbox Code Playgroud)

PDO是否允许我像这样绑定表名和列名?它似乎允许它,但即使我使用PDO :: PARAM_INT或PDO :: PARAM_BOOL作为数据类型,它也会在我的参数周围加上引号.

如果这不起作用,我怎样才能安全地转义我的变量,以便我可以在查询中插入它们?

php pdo

9
推荐指数
1
解决办法
7019
查看次数

在MS SQL Server中隐藏表中的列

任何人都可以分享从SQL Server 2012中的表中隐藏特定列的步骤,因为我不想删除该列

通过隐藏我的意思是,每当我对该特定表使用select查询时,它都不应该向我显示该列.

可能吗?无论用户登录和使用何种查询,我都需要将列隐藏起来

第三方编辑

根据评论But the problem is whenever i open the table in sql i dont want to see that particular column我假设问题是:

  • 我如何配置以便在sql management studio中打开一个表定义,只显示连接用户选择的列?

下面的屏幕截图显示了Employee表的所有列,尽管登录StackoverIntern没有对列的选择权限SSN, Salary

SSMS表定义显示所有列

sql sql-server sql-server-2012

4
推荐指数
2
解决办法
1万
查看次数

SQL查询限制与调用整行时的性能优势?

通过在查询中仅选择必需字段而不是查询整行,可以获得多少性能优势?例如,如果我有一行10个字段但显示中只需要5个字段,那么仅查询那些5个字段是否值得?这个限制的性能优势是什么?如果需要,以后必须返回并在sql查询中添加字段的风险是什么?

sql linq-to-sql

3
推荐指数
2
解决办法
639
查看次数

标签 统计

sql ×5

php ×2

sql-server ×2

database ×1

linq-to-sql ×1

mysqli ×1

pdo ×1

sql-server-2012 ×1