2)036 一位技术大拿_重生学概论
字体:      护眼 关灯
上一章 目录 下一章
  

  一个人长时间不接触相关的技术,很容易就忘了相对基础的内容。所以有些算法框架,已经重生过的自己,现在还能记住吗?所以说,自己不能好逸恶劳,还是要好好再提升一下自己了。

  罗纪未来想做的事情是很新锐的,所以还要趁着自己记得清楚,至少能把记住一些细节的模型都写下来,不然等到自己能赛博炼丹的时候,却少了至关重要的单方和硬件架构,那可凉凉了。

  “罗纪xi?”李镇贤问了一下。

  “哦,不好意思,刚刚走神了。”罗纪接过李镇贤的电脑,敲击着键盘,说道:“你这里的查询使用了select*,全选了所有的列,但是你的这层嵌套查询中其实只有id是用得到的。可以只查询id减少数据传输量。尽量避免全表扫描。”

  李镇贤点点头:“是的,我是感觉应该是哪个地方出问题了,速度始终不理想。”

  罗纪说道:“你之前是使用的什么索引来加快查询速度?”

  李镇贤说道:“hash(哈希)索引我建立了,但是感觉速度不是特别快。但是这应该是最快的索引法了,我在想可能是别的地方出问题了。”

  罗纪琢磨着:“虽然不会桶溢出,但是感觉......用b树吧”

  “b树?”李镇贤有些诧异:“可是用b树不是更慢了?”

  罗纪微微一笑:“你现在需要索引的数据里,hash值相等的太多了。有时候hash索引遇到大量hash值相等的情况后,性能真不一定就会比b树索引高。你没有发现吗?现在大量的记录指针信息存于同一个hash值相关联。这样要定位某一条记录时,就会特别特别麻烦,反而会浪费多次表数据的访问,最后整体性能反而低下。所以,现在用hash表已经不大适合了。这时候用b树可能速度反而更快。”

  “原来是这样啊。”李镇贤恍然大悟,再看向罗纪的目光里多了点佩服。

  罗纪叹了口气:“要是再加上redis就更好了。”

  李镇贤疑惑的询问:“什么?”

  “一种nosql内存数据库。”罗纪其实已经记不清redis是什么时候推出的,可能就是这两年。看着对方一脸懵的表情,罗纪也不在意,因为这算不上什么技术秘密。

  甚至罗纪干脆反问道:“你难道不知道吗?首先,redis的数据模型与rdbms不同,它采用了更灵活的数据存储和查询方式,只需要描述针对特定抽象数据类型的操作即可。其次,redis将数据存储在内存中,而非磁盘上,因此大大缩短了读写操作的访问时间,这也是速度快的原因。当然,在存储数据时需要采用适合后续快速检索的方式。难以置信,你居然不知道?”

  被这么一问,反倒是李镇贤开始自我怀疑了,说道:“好像听过。不过我对于sql的相关事务很久没关心了。因为这次数据中心要来首尔开,我才重新研究起这个。”

  罗纪在合适的时间点,摆出技术大拿的丑恶嘴脸,说道:“现在查询时间缩短到了仅需1.1秒,速度比之前快了近4倍。这对于用户体验来说,算是很不错了。但是伱别骄傲,回去再优化一下。我觉得索引速度最快可以压到0.1到0.3秒。”

  “好的好的。”李镇贤一边答应着,一边退出去。

  罗纪看着时间,十分钟后他假装去洗手间,一路上看到众人的目光果然有了点变化。从之前单纯的礼貌,现在多了一些自己人的信赖。

  随后整个下午的工作就不多了。等到晚上,掐着点下班。

  罗纪还得去小课堂兼职去呢!

  请收藏:https://m.mht567.com

(温馨提示:请关闭畅读或阅读模式,否则内容无法正常显示)

上一章 目录 下一章