#每天一个知识点# 最近在优化一批复杂 SQL,从原来 8 秒优化到 100ms 内,总结几个 MySQL 实战心得:
小表驱动大表,关联顺序直接影响执行计划
联合索引遵循:等值条件在前,排序字段在后
小数据量下优化器可能不走索引,属于正常现象
想要 ORDER BY 不 filesort,直接把排序字段放进索引
多表关联尽量用覆盖索引,避免回表
日常 CRUD 看不出差距,一到大报表、分页查询,索引好坏直接决定系统卡不卡。
#每天一个知识点# import和export,CommonJS 中的 require/exports 和 ES6 中的 import/export 区别?
1、CommonJS模块输出的是一个值的拷贝,一旦输出一个值,模块内部的变化就影响不到这个值。
2、CommonJS模块是运行时加载,ES6模块是编译时输出接口(ES6可以在编译时就完成模块加载,效率要比CommonJS模块的加载方式高)。
3、ES6模块是通用的,同一个模块不用修改,就可以用在浏览器
4、require/exports是CommonJS在Node中实现的。
5、ES6模块的设计思想,是尽量静态化,使得编译时就能确定模块的依赖关系以及输入和输出的变量。export命令用于规定模块的对外接口,import命令用于输入其他模块提供的功能。
1、CommonJS模块输出的是一个值的拷贝,一旦输出一个值,模块内部的变化就影响不到这个值。
2、CommonJS模块是运行时加载,ES6模块是编译时输出接口(ES6可以在编译时就完成模块加载,效率要比CommonJS模块的加载方式高)。
3、ES6模块是通用的,同一个模块不用修改,就可以用在浏览器
4、require/exports是CommonJS在Node中实现的。
5、ES6模块的设计思想,是尽量静态化,使得编译时就能确定模块的依赖关系以及输入和输出的变量。export命令用于规定模块的对外接口,import命令用于输入其他模块提供的功能。
展开
评论
点赞