在SQL中使用不同的命令是不是很好的做法?独特的命令有什么缺点吗?使用不同的命令
使用不同的命令
回答
它完全取决于您的使用案例。 DISTINCT
在某些情况下很有用,但可能会被过度使用。
缺点主要是增加查询引擎执行排序的负载(因为它需要将结果集与自身进行比较以删除重复项),并且它可以用来掩盖数据中的问题 - 如果您正在重复您的源数据可能存在问题。
该命令本身并非天生好或坏。你可以使用螺丝刀敲击指甲,但这并不意味着这是个好主意,或者螺丝刀在任何情况下都不好。
它是语言的一部分,所以应该使用。
有些情况下使用DISTINCT
可能会导致表扫描,否则不会发生。
您将需要测试每个自己的用例,以查看是否会产生影响并在影响不可接受时找到解决方法。
如果您希望确保结果不同于SQL计算机上SQL服务器内部的结果,请使用它。如果您不介意将额外结果发送给客户端并在那里执行工作(以减少服务器负载),那么请执行此操作。这取决于您的性能要求和数据库的特性。
例如,如果明显会减少结果集的可能性非常小,并且您没有将索引列设置为正确的列以使其更快,并且您需要减少SQL Server负载,并且您有备用周期客户端,并且很容易确保客户端的独特性 - 那么您可能需要这样做。
这是很多ifs,ands和mights。如果你不知道 - 就使用它。
从这个http://www.mindfiresolutions.com/Think-Before-Using-Distinct-Command-Arbitarily-1050.php
有时它是如果初学者得到了一些重复他们的结果集,然后他们使用DISTINCT看到。但是这有它自己的缺点。
显着降低查询的性能。因为正常的过程是对结果进行排序,然后移除 等于紧接之前的行。
DISTINCT比较记录的所有字段。所以DISTINCT增加计算。
如果你需要经常使用它来获得正确的输出,那么你有一个设计或JOIN问题
这是完全合法的使用说明。
虽然这是一种聚合:相当于所有输出列上的GROUP BY。所以这是一个额外的步骤是查询处理
- 1. 使用sql命令不止一次使用不同的命令
- 2. 不同的命令
- 3. 使用POW时MySQL命令不同步()
- 4. 转换一个命令到不同的命令用不同的参数
- 5. 在不同视图模型中调用不同命令的单个命令
- 6. mysqli的命令不同步
- 7. 如何对不同的目标使用相同的命令?
- 8. 不在gnuplot的相同的字体使用命令行或gnuplot的命令时
- 9. HDBC-mysql“命令不同步”
- 10. 使用split命令使用slice命令?
- 11. 使用dock命令使用aws命令
- 12. 使用不同的名称从命令行调用红宝石
- 13. ssh命令引用有什么不同?
- 14. 命令和命令参数的不同Datacontext
- 15. docker-compose不覆盖使用启动命令的命令
- 16. 对指标使用不同的Hystrix命令名称
- 17. 命令行使用不同颜色的GIT日志记录
- 18. 使用matlab中的子图命令绘制,但功能不同
- 19. 使用forEach和/或toArray遍历不同表的迭代命令
- 20. 如何在不同参数的bash中重复使用命令?
- 21. 使用python中不同文件的命令行参数
- 22. Hadoop distcp命令使用不同的S3目标
- 23. 如何在命令行上使用不同版本的Java版
- 24. 修改rake db命令以使用不同的mysql引擎
- 25. 在redis命令提示符下使用不同的数据库
- 26. 的WebPack不同的安装命令
- 27. 对命令使用多个类,命令不起作用?
- 28. 使用命令
- 29. Visual命令提示命令不可用
- 30. 命令通过不同的方式
使用_select_命令是否有任何缺点?如果你需要它,使用它。 – 2011-04-12 19:43:41
那么如果你相信CJ Date有什么要说的话,你应该总是为了正确而应用它,但是他似乎并不喜欢SQL ...... – 2011-04-12 22:07:17