登录
首页 >  Golang >  Go问答

最近,我在学习SQL和阅读“MICK-SQL基础课程”;书的时候遇到一个问题,关于查询结果随机的问题?

来源:SegmentFault

时间:2023-01-11 16:29:22 322浏览 收藏

在Golang实战开发的过程中,我们经常会遇到一些这样那样的问题,然后要卡好半天,等问题解决了才发现原来一些细节知识点还是没有掌握好。今天golang学习网就整理分享《最近,我在学习SQL和阅读“MICK-SQL基础课程”;书的时候遇到一个问题,关于查询结果随机的问题?》,聊聊MySQL、go、数据库,希望可以帮助到正在努力赚钱的你。

问题内容

MICK-SQL基础教程

(中译版本)的书中,在 3-4 章节中,讲到

order by

的时候,说查询结果是随机的?不知道是翻译错误,还是确实是随机的?

目前只执行SQL的过程中,每次结果都是一致的,没发现有随机的情况?

正确答案

你好,虽然没读过这本书及你使用的数据库,但大概能猜出你的疑惑点在哪。
首先,书中的内容应该是正确的,因为大部分数据库关于order by的设计都是随机的。
即当order by的字段内容相同的几条的数据顺序性是随机的。没有去深入研究过这是为什么,可能是采取了一种不稳定的排序算法,也可能跟底层磁盘检索原理有关。
至于为什么你每次结果都一致,很有可能是该数据库支持缓存,当你的sql不发生改变以及数据库内容不变更时,那么查询结果就会从缓存中去取,从而导致你每次的查询结果都是一致的。
不过这只是我的猜测,你可以更改数据库内容,多测试几次试试看。但问题的答案是一定的,即是随机的。

文中关于golang的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《最近,我在学习SQL和阅读“MICK-SQL基础课程”;书的时候遇到一个问题,关于查询结果随机的问题?》文章吧,也可关注golang学习网公众号了解相关技术文章。

声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>
评论列表