【转载“架构师之路”公众号】58到家MySQL军规升级版(MySQL规范篇)

一、基础规范

  • 表存储引擎必须使用InnoDB

  • 表字符集默认使用utf8,必要时候使用utf8mb4

解读:

(1)通用,无乱码风险,汉字3字节,英文1字节

(2)utf8mb4是utf8的超集,有存储4字节例如表情符号时,使用它

  • 禁止使用存储过程,视图,触发器,Event

解读:

(1)对数据库性能影响较大,互联网业务,能让站点层和服 …

阅读全文

MySQL经验篇

互联网时代,数据库的操作越来越成为整个应用的性能瓶颈。当我们去设计数据库表结构,操作数据库时(尤其是查表时的SQL语句),我们都需要注意性能问题

SQL语句分类

SQL 语句主要可以划分为以下 3 个类别。

  • DDL(Data Definition Languages)语句:数据定义语言,这些语句定义了不同的数据段、数据库、表、列、索引等数据库对象的定 …

阅读全文

卸载 Mac 自带英文 ABC 输入法

前言

用 Mac 的童鞋都知道,Mac 自带的中文输入法很坑爹,有木有?词库很垃圾,很多中文词是没有的,写起来很蛋疼,效率很低,绝大多数童鞋会安装最好用的中文输入法–搜狗输入法(ps:不接受反驳),这样Mac 同时存在搜狗输入法和美国英语 ABC 输入法(ps:自带的 ABC输入法无法卸载),但是搜狗输入法本身就提供了英文输入法(shift 切 …

阅读全文

禁用CleanMyMac HealthMonitor

介绍CleanMyMac

大家都知道,在Windows系统上,有360等软件做垃圾清理和软件卸载,对于大多数Mac用户,相对来说不需要类似软件做清理工作,然而,某些强迫症患者或者码农依然需要清理软件,CleanMyMac就是这么一款Mac平台上最好用的清理软件

牛皮癣后台服务

完整退出 CleanMyMac X 的程序包括菜单栏启动项后,依然有一个服 …

阅读全文

乐观锁与悲观锁

何谓悲观锁与乐观锁

  • 乐观锁对应于生活中乐观的人总是想着事情往好的方向发展
  • 悲观锁对应于生活中悲观的人总是想着事情往坏的方向发展
  • 这两种人各有优缺点,不能不以场景而定说一种人好于另外一种人。

悲观锁

  • 总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁(共享资源每次只给一个 …

阅读全文

leetcode.398.随机数索引

题目描述

给定一个可能含有重复元素的整数数组,要求随机输出给定的数字的索引。 您可以假设给定的数字一定存在于数组中。

注意:

数组大小可能非常大。 使用太多额外空间的解决方案将不会通过测试。

示例:

int[] nums = new int[] {1,2,3,3,3};
Solution solution = new Solution(nums); …

阅读全文

左耳听风陈皓-程序员练级攻略2018开篇词-总结

理论和现实的差距

  • 学院派知识有强大威力,只是你没找到相关场景
  • 算法与数据结构、操作系统原理、编译原理、数据库原理、计算机原理……这些原理上的东西,是你想要成为一个专家必需要学的东西。这就是“工人”和“工程师”的差别,是“建筑工人”和“建筑架构师”的差别。如果你觉得这些理论上的东西无用,那么只能说明,你只不过在从事工人的工作,而不是工程师的工作。

技术 …

阅读全文

leetcode 33 搜索旋转排序数组

题目描述

假设按照升序排序的数组在预先未知的某个点上进行了旋转。

( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )

搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回 -1

你可以假设数组中不存在重复的元素。

你的算法时间复杂度必须是 O(log n) 级别。

示例1:

输 …

阅读全文

leetcode.69.sqrtx.X的平方根

题目描述

实现 int sqrt(int x) 函数。

计算并返回 x 的平方根,其中 x 是非负整数。

由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。

示例1:

输入: 4
输出: 2

示例2:

输入: 8
输出: 2
说明: 8 的平方根是 2.82842..., 
     由于返回类型是整数,小数部分将被舍去。

暴力 …

阅读全文

leetcode 25. k个一组翻转链表

题目描述

给出一个链表,每 k 个节点一组进行翻转,并返回翻转后的链表。

k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么将最后剩余节点保持原有顺序。

示例:

给定这个链表:1->2->3->4->5

当 k = 2 时,应当返回: 2->1->4->3->5 …

阅读全文