论索引的重要性

2018-11-23 09:19:27

索引,比高铁还快

最近忽然发现有个列表显示不出来了,后来查询,发现是sql的问题。

这个sql查询的库比较大,并且还要left join 用户信息。

我都想把这个接口分开,单独查询用户信息,存储缓存来解决这个问题。


当然这是最后的策略。


我还是先优化sql吧,说来是优化数据库。


一开始这个sql竟然要19秒,这可不是一般的慢啊。


我跟拒where 还要left on 的字段,一个一个加索引,速度慢慢降下来了,将到了9秒。

但9秒也不是我们想要的啊。

知道最后一个关键索引,order by 后面的字段我也给加了索引。

我去,瞬间 200ms查询出了数据。


我还有什么能说的呢,看来索引基本能解决一切慢sql。好开心。

  • 2020-01-14 01:06:37

    webpack externals 深入理解

    按照官方文档的解释,如果我们想引用一个库,但是又不想让webpack打包,并且又不影响我们在程序中以CMD、AMD或者window/global全局等方式进行使用,那就可以通过配置externals。这个功能主要是用在创建一个库的时候用的,但是也可以在我们项目开发中充分使用。

  • 2020-01-14 01:08:19

    webpack用externals优化echarts

    防止将某些 import 的包(package)打包到 bundle 中,而是在运行时(runtime)再去从外部获取这些扩展依赖(external dependencies)。

  • 2020-01-16 08:52:22

    Vue函数式调用组件创建公共组件

    所有组件都需要这么去调用,就会有些许麻烦而且不太美观。像Loading、Toast等这些组件,一页面可以经常用到而且每次显示的内容都可能不一样,这样的话用js的方式【this.$xxx.show(option)】去调用就方便很多,而且代码也更整洁。

  • 2020-01-17 08:37:26

    css transition分别指定多个属性

    transition有四个属性,很多人都会遗忘,分别是transition-property,transition-duration,transition-timing-function,transition-delay,尤其是transition-delay,这个可以实现延迟动画

  • 2020-01-17 08:44:57

    vue keepalive 前进刷新后退不刷新终极解决方案

    另外,我们做路由的时候要有意的根据页面等级做出路由的长度 比如 /a是一级的页面/a/b是二级的页面,下面的文章大家也可以通过判断path的长度来计算rank值,不用有意自定了 这样做的好处有两点,一个就是前进刷新,后退不刷新,还有就是,如果我们做页面进出效果的时候也能排上用场。