摘要: 1.索引列的值设置为null,可以用空字符串代替,为null会导致不走索引 2.遵循最佳左前缀原则,因为MySQL的B+树索引结构根据最左的column进行创建的, 3.不要对索引列进行函数或表达式的计算,正确做法是将值计算好再传进来 4.避免全表扫描 Where 中少用 NOT、!=、<>、!<、 阅读全文
posted @ 2019-09-24 22:30 Jemb 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 1.项目中为什么要使用MQ。 解耦:模块之间的调用十分复杂,同时这个调用时不需要直接同步调用接口的,此时就可以考虑运用MQ去进行系统的解耦。 异步:如果A系统接收到一个请求,需要在自己本地写库,同时还需要调用MQ进行写库,自己需要20ms,BCD需要300ms,500ms,100ms.总共的耗时需要 阅读全文
posted @ 2019-09-24 21:37 Jemb 阅读(372) 评论(0) 推荐(0) 编辑
摘要: explain的所有参数 id: 编号 select_type: 查询类型 table: 表 type: 类型 possible_keys:预测用的索引 key: 实际使用到的索引 key_len: 实际使用的索引的长度 ref: 表之间的引用 rows: 通过索引查询到的数据两 Extra: 额外 阅读全文
posted @ 2019-09-24 11:58 Jemb 阅读(600) 评论(0) 推荐(0) 编辑
摘要: MySQL四层分层:(自上往下执行) 连接层:提供预客户端连接的服务。 服务层: 1.提供各种用户使用的接口 2.提供各种sql优化器(mysql如果发现你自己的sql写的太烂,会自动帮你优化) 引擎层: INNODB:事务优先 ( 适合高并发操作,使用的是行锁) MYISAM: 性能有限 (使用的 阅读全文
posted @ 2019-09-24 11:54 Jemb 阅读(107) 评论(0) 推荐(0) 编辑
摘要: Redis是基于内存K-V数据库,然而内存资源又是非常宝贵的,所以使用最合适的存储结构,做到尽量节省内存资源,又对性能的影响不大,成为一个至关重要的问题。 redisObject数据结构: len:表示缓存中已经占用的空间长度 free:表示buf中可剩余的空间长度,当free为0的时候,表示buf 阅读全文
posted @ 2019-09-24 10:23 Jemb 阅读(144) 评论(0) 推荐(0) 编辑