LeetCode 之反转链表(Reverse Linked List)
前言反转链表也是常见的面试算法题了。 何为链表? 链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的指针(Pointer)。由于不必须按顺序存储,链表在插入的时候可以达到O(1)的复杂度,比另一种线性表顺序表快得多 ...
阅读更多
MySQL 中常用 SQL 的优化
前言之前介绍了 MySQL 中怎么样通过索引来优化查询。日常开发中,除了使用查询外,我们还会使用一些其他的常用 SQL,比如 INSERT、GROUP BY 等。对于这些 SQL 语句,我们该怎么样进行优化呢?接下来将针对这些 SQL 语句介绍一些优化的方法。 大批量插入数据当用 load 命令导入 ...
阅读更多
MySQL 中的索引问题
前言索引是数据库优化中最常用也是最重要的手段之一,通过索引通常可以帮助用户解决大多数的 SQL 性能问题。接下来将对 MySQL 中的索引的分类、存储、使用方法做详细的介绍。 索引的存储分类MyISAM 存储引擎的表的数据和索引是自动分开存储的,各自是独立的一个文件;InnoDB 存储引擎的表的数据 ...
阅读更多
MySQL 中优化 SQL 语句的一般步骤
前言当面对一个有 SQL 性能问题的数据库时,我们应该从何处入手来进行系统的分析,使得能够尽快定位问题 SQL 并尽快解决问题。 show status通过 show status 命令了解各种 SQL 的执行频率。 MySQL 客户端连接成功后,通过 show[session|global] st ...
阅读更多
MySQL 中分布式事务的使用
前言MySQL 从 5.0.3 开始支持分布式事务,当前分布式事务只支持 InnoDB 存储引擎。一个分布式事务会涉及多个行动,这些行动本身是事务性的。所有行动都必须一起成功完成,或者一起被回滚。 分布式事务的原理在 MySQL 中,使用分布式事务的应用程序涉及一个或多个资源管理器和一个事务管理器。 ...
阅读更多
MySQL 中 MyISAM 和 InnoDB 存储引擎的区别
前言和大多数数据库不同,MySQL 中有一个存储引擎的概念,针对不同的存储需求可以选择最优的存储引擎。 概述插件式存储引擎是 MySQL 数据库最重要的特性之一,用户可以根据应用的需要选择如何存储和索引数据、是否使用事务等。MySQL 默认支持多种存储引擎,以适用于不同领域的数据库应用需要,用户可以 ...
阅读更多
跳动一月(2019)
年前一个月,怎么能不跳动? 各大厂爆料不断,裁员信号到处闪烁,人心惶惶。 看到最多的一句话是:2019,保住饭碗! 裁团风波此起彼伏,有赞年会公然宣布 996,便利蜂裁员新招层出不穷,新东方的释放自我,微信、陌陌的令人羡慕…… 据说 2018 是未来五年经济最好的一年,呜呼哀哉! 这是一个危机四伏的 ...
阅读更多
LeetCode 之全排列(Permutations)
全排列问题在这里有两个版本,其中略有差异。看完就会感觉似曾相识,一种莫名的熟悉感从心底喷涌上来。 第一个版本:1234567891011121314给定一个没有重复数字的序列,返回其所有可能的全排列。示例:输入: [1,2,3]输出:[ [1,2,3], [1,3,2], [2,1,3], ...
阅读更多
SpringBoot2 整合 Sharding JDBC 实现 Mysql 读写分离
想直接要源码的,点这里。 简介Sharding-JDBC 定位为轻量级 Java 框架,在 Java 的 JDBC 层提供的额外服务。 它使用客户端直连数据库,以 jar 包形式提供服务,无需额外部署和依赖,可理解为增强版的 JDBC 驱动,完全兼容 JDBC 和各种 ORM 框架。 适用于 ...
阅读更多
你好,依旧
你好,依旧 此篇作为对 2018 的整年回顾尾巴,走了;你好,依旧。 2018 的尾巴已经来到,也是到了时候该让她的尾巴跟头部围成一个圈圈了。 2018,看过几场电影,吃过几场温馨的饭,睡过几场懒觉,看过几次凌晨的星空。 2018,分过一次手,游过几次怪味的泳,红过几次眼,回过不超五次的家。 201 ...
阅读更多