文章 40
评论 417
浏览 71931
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。 ....

Navicat Premium for Mac 破解教程

Navicat Premium for Mac 破解教程

前言 本教程破解的版本为 Navicat Premium 12.1.27,理论上支持 12.0.24~ 最新版,所以在你开始破解时请确认你的版本 下载并安装 进入Navicat Premium,选中对应软件进行下载,安装就不多说了,整安装就可以了 编译 1. 安装依赖 首先你的确认你安装了 brew,没有的话就先去装一个吧,然后安装下列库 brew install openssl brew install capstone brew install keystone brew install rapidjson brew install libplist 2. 克隆项目 克隆 Mac 分支,并编译 keygen 和 patcher git clone -b mac --single-branch https://github.com/DoubleLabyrinth/navicat-keygen.git cd navicat-keygen make all 编译成功后当前目录下的 bin 文件下回出现两个可执行文件 ls bin/ 3. 备份 备份好Navicat Premi....

Go面试总结

Go面试总结

面试是一个互相博弈的过程,此贴用于记录个人在面试中遇到的各种问题以及解答(不定期更新中) 面试是一个运气问题,你总会遇到一个面试官,问你的问题你都会,当然你会的越多,这个概率就越高

Docker导出mysql数据

Docker导出mysql数据

前言   前几天无意中在社区看到一个帖子(记一次清空数据仓库的过程),讲的是自己无意中删库的经历。如文中所讲,大多时候删库这件事我们只是耳闻,并没有遇到过,可要是万一呢,到时候恐怕是追悔莫及,而且mysql也没有oracle的恢复机制,所以备份就成了一个非常有必要的操作。   由于没有相关操作经验,所以从零开始讲如何数据,毕竟我还是比较珍惜我的小博客的。 具体操作   以前也导出过sql文件,但是都是直接用Navicat导出就完事了,但是这次我想实现的是自动备份,最好写成脚本的方式。   基本思路:使用命令将数据库数据从docker容器中导出来,以时间戳命名。最多保持7天,过期文件自动删除。 导出mysql数据 间接导出   mysql 导出数据的命令还是蛮简单的:mysqldump -u 用户名 -p 数据库名 > 导出的文件名,但这是linux里面执行的,我们的放在docker里面,所以要先进入容器,然后执行上述命令。然后你就会惊讶的发现,导出的文件在你的容器里面,然后你再从容器里面copy到你的主机上。这样做会在容器上产生大量sql文件,写定时任务是需要及时清理。 直接导出....

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