文章 40
评论 417
浏览 71921
MySQL分页查询优化

MySQL分页查询优化

前言 Mysql慢查询优化,一直是开发中不可避免的问题,当然面试的时候也是。 今天的面试中,面试的最后一道题:“如何提供分页查询”,我自信的写下 LIMIT,认为此题十拿九稳,面试官此后的问题为当 offset到一定数量的时候怎么优化,因为之前没有遇到过类似的问题,而且也没有量特别大的分页,所以这个问题只能作罢。 复盘 回家后弄了个大概有快20W数据的表,实测一下,查询速度是否会因为 limit边大而边长。 如上图所示,同样的查询条件下,因为 limit增大查询速度确实变慢了很多。 why? 对于limit子句 LIMIT [offset,] row_count,官网说明如下 Theoffset specifies the offset of the first row to return. Theoffset of the first row is 0, not 1. Therow_count specifies the maximum number of rows to return. 翻译一下就是: offset参数指定要返回的第一行的偏移量。第一行的偏移量为0,而不是1。 ....

Go爬虫初体验

Go爬虫初体验

前言   闲来无事的时候,偶尔也会看看漫画,但是鹅厂的操作大家都懂,想看最新的你就得给钱,本着白嫖精神,我找到了扑飞漫画,但是这网页的阅读体验一言难尽,他家的APP也是,动不动就加载失败,一等一半天。思来想去,还是弄个爬虫把图片都爬下来,然后想法弄到kindle里面岂不美哉。因为不会Python,所以只好用GO来写了,虽然没写过,但是可以现学嘛。 初识爬虫   网上找了下资料,go的写爬虫也太简单了吧,几行代码就搞定了,比如下面这样,几行代码就把整个页面拿到了。 package main import ( "fmt" "io/ioutil" "net/http" ) func main() { resp, err := http.Get("https://www.baidu.html") if err != nil { fmt.Println("http get error", err) return } defer resp.Body.Close() body, err := ioutil.ReadAll(resp.Body) if err != nil { fmt.Println(....

凡打不倒我的,必使我强大!!!—— 墨殇的技术博客