相关疑难解决方法(0)

SELECT*EXCEPT

是否有任何RDBMS实现类似的东西SELECT * EXCEPT?我所追求的是获取除特定TEXT/BLOB字段之外的所有字段,我只想选择其他所有字段.

几乎每天我都会向我的同事抱怨有人应该实现这个......它非常烦人,它不存在.

编辑:我理解大家的关注SELECT *.我知道与之相关的风险SELECT *.但是,至少在我的情况下,这不会用于任何生产级代码,甚至是开发级代码; 严格用于调试,当我需要轻松查看所有值时.

正如我在一些评论中所说,我工作的地方严格来说是一个命令行商店,在ssh上做一切.这使得很难使用任何gui工具(不允许与数据库的外部连接)等.

谢谢你的建议.

sql

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

Select*和Select [list each col]之间是否有区别

我正在使用MS SQL Server 2005.与SQL引擎之间有区别

SELECT * FROM MyTable;
Run Code Online (Sandbox Code Playgroud)

SELECT ColA, ColB, ColC FROM MyTable;
Run Code Online (Sandbox Code Playgroud)

当ColA,ColB和ColC代表表格中的每一列时?

如果它们是相同的,那么为什么你应该使用第二个呢?我有一个对LINQ很重的项目,我不确定它生成的标准SELECT*是不是很糟糕,或者我应该总是使用.Select()来指定我想要的cols.

编辑:更改"当ColA,ColB和ColC是表格的所有列?" "当ColA,ColB和ColC代表表格中的每一列?" 为清楚起见.

sql linq database linq-to-sql

25
推荐指数
6
解决办法
6649
查看次数

为什么使用'*'构建视图不好?

为什么使用'*'构建视图不好?

假设您有一个复杂的连接,并且可以在某处使用所有字段.

然后你只需要选择所需的字段.

SELECT field1, field2 FROM aview WHERE ...
Run Code Online (Sandbox Code Playgroud)

视图"aview"可能是 SELECT table1.*, table2.* ... FROM table1 INNER JOIN table2 ...

如果table1和table2中的2个字段具有相同的名称,则会出现问题.

这只是为什么在视图中使用'*'不好的原因?

使用'*',您可以在不同的上下文中使用该视图,因为信息就在那里.

我错过了什么?

问候

sql view

22
推荐指数
5
解决办法
7266
查看次数

内部Join的重复列

SELECT 
    dealing_record.*
    ,shares.*
    ,transaction_type.*
FROM 
    shares 
    INNER JOIN shares ON shares.share_ID = dealing_record.share_id
    INNER JOIN transaction_type ON transaction_type.transaction_type_id = dealing_record.transaction_type_id;
Run Code Online (Sandbox Code Playgroud)

上面的SQL代码产生了所需的输出,但有几个重复的列.此外,列标题显示不完整.当我改变了

linesize 100
Run Code Online (Sandbox Code Playgroud)

标题显示但数据显示重叠

我已经检查了类似的问题,但我似乎没有得到如何解决这个问题.

sql sqlplus

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

选择 * 与选择所有列名称

我一直在阅读这一点,我知道最好明确列出列名称,我仍然有一个问题。

让我们假设以下场景(非常接近我的现实生活场景):

  1. 永远不会添加新列

  2. 我没有使用任何 blob 数据

  3. 我实际上确实想返回所有列

  4. 我有一个大约有 1.4 亿行的表

  5. 我实际上并不需要全部 1.4 亿行,但为了便于讨论,我们假设我需要

  6. 我没有使用任何连接,其他人也不会

  7. 下面的查询实际上正是我运行查询的方式。

以下查询之间是否存在性能差异:

SELECT * FROM <table_name>
Run Code Online (Sandbox Code Playgroud)

VS

SELECT <every_column_name...> FROM <table_name>
Run Code Online (Sandbox Code Playgroud)

编辑:我知道关于这个主题有一百万个问题。但对于这种特定的场景,是否存在任何性能差异?是select *糟糕还是两个查询具有相同的性能?

据我所知,根据使用的结果explain,对于这种特殊情况,没有区别。

database postgresql select query-optimization postgresql-performance

7
推荐指数
1
解决办法
5468
查看次数

6
推荐指数
4
解决办法
8218
查看次数

MySQL 选择性能

可能的重复:
哪个更快/最好?SELECT * 或 SELECT 列 1、列 2、列 3 等

我有一个关于 MySQL 性能的问题。在开始之前,抱歉我的英语不好。

问题是:星号和逗号分隔的字段名称之间的性能差异是什么。

例如:a 在“example_table”中有一个名为“example_table”的表,并有 5 个名为“f1、f2、f3、f4、f5”的字段。

select * from `example_table`;
Run Code Online (Sandbox Code Playgroud)

或者

select f1, f2, f3, f4, f5 from `example_table`;
Run Code Online (Sandbox Code Playgroud)

感谢您的回复。

mysql performance

6
推荐指数
1
解决办法
2568
查看次数

在SELECT Query中使用*

可能重复:
哪个更快/最好?SELECT*或SELECT column1,colum2,column3等.

我目前正在将用MySQL3和PHP4编写的应用程序移植到MySQL5和PHP5.

在分析中,我发现了几个使用"select*from tablename"的SQL查询,即使在PHP中只处理了一个列(字段).该表有近60列,并且有一个主键.在大多数情况下,唯一使用的列是id,它是主键.

如果我使用明确提到列名而不是*的查询,是否会提高性能?(在此应用程序中,只有一种方法,我们需要所有列,所有其他方法只返回列的子集)

php mysql optimization query-optimization

5
推荐指数
1
解决办法
274
查看次数

SQL:使用Select*

可能重复:
哪个更快/最好?SELECT*或SELECT column1,colum2,column3等.

这是不好的做法Select *吗?

我正在浏览一些旧代码并看到一些'SELECT*'语句.我以前的同事告诉我Select*是不好的做法,但我真的看不出原因(除非我当然只需要返回几个字段).但是对于完整的"详细检索"(通过Id类型查询获取)选择*似乎是正确的.

sql

5
推荐指数
3
解决办法
869
查看次数

使用`select table_name.*`有什么优缺点?

我听说这是一般编写查询的错误方法,但我想知道人们对SQL的新用户说些什么.

这是非常糟糕的形式还是只是懒惰?

因此,不要对此征求太多意见,除了不必输入每个字段名称之外,在查询中使用它有什么好的理由.另外,这些原因是否超过了它的使用危害?

sql

5
推荐指数
1
解决办法
447
查看次数