当我们只使用SELECT *并且只显示我们想要的列时,为什么我们需要使用查询SELECT COLUMN1,COLUMN2?
SELECT ALL和SELECT有什么区别?
解决方法:
问题是,当你可以轻松地在应用程序中显示你喜欢的列并始终使用SELECT *时,为什么会使用SELECT col1,col2?
主要原因是:
>仅选择所需的列意味着服务器必须收集并向应用程序发送较少的数据,从而加快查询速度并减少资源使用,尤其是当您有许多列或其中一些包含BLOB时.
>如果数据库中的结构发生更改(例如,如果重命名或删除列,则会更容易理解错误,并且它们出现在select中,而不是应用程序中.
>如果要通过整数索引使用结果中的字段,则必须指定列,否则您将受到查询优化所提供的任何列顺序的支配.您的应用程序可能会停止工作,因为有人添加了列或索引.
编辑以回答问题的第二部分:
哦,SELECT ALL和SELECT之间的区别在于没有区别.SELECT ALL是我所知道的所有方言中SELECT的默认行为.
但是,SELECT DISTINCT是不同的.它返回一个集的唯一值,所以如果你运行:
SELECT DISTINCT col1, col2
在包含的表上
1,2
1,2
2,2
2,3
你会得到
1,2
2,2
2,3
标签:mysql,sql
来源: https://codeday.me/bug/20190609/1206256.html