Mysql的二三事
阿菜一号
顺丰科技的阿菜,一个永远在创建bug和修复bug的菜鸟工程师
展开
-
关于SQL语言建表的技巧
今天用了2小时去阅读《The Art of SQL》这本书,受益良多,但有点后悔的是没有去直接阅读英文,中文的翻译更类似于机翻,很多会有语言表达不精确的问题。 null值出现的问题 有些表格因为前期的创建不规范,会出现大量的数据为空的情况,容易造成数据库冗余的问题。null值的出现大多数伴随着大量字段被强行加入到一张表中,从而造成数据项之间不匹配,产生空值问题。更加严重的会发生两个字段值异或的情况,即A值为空的时原创 2020-08-17 08:33:21 · 212 阅读 · 0 评论 -
Sql语句的优化以及Sql语句优化工具
这周在做项目的时候,发现有些Sql语句写的复杂,一个复杂的Sql语句不仅性能比较低下,当涉及到重构的时候也是不容易理解和读懂的,并且一个复杂的sql语句会显著增加程序的耦合度,所以Sql语句的优化就显的很必要了。 Sql语句复杂化的原因 首先列举一下Sql语句复杂化的原因: 将业务逻辑由Sql语句实现 数据库表的设计不符合第三范式 Sql语句中含有大量冗余的不必要逻辑 没有很好的利用视图 如何优化Sql语句呢 不要超过5个表以上的连接 超过5张表以上的连接会大大增加sql引擎的消耗。 考虑使用临原创 2020-07-13 09:20:47 · 729 阅读 · 0 评论 -
Explain如何助力SQL语句的优化
Explain如何助力SQL语句的优化何为Explain怎样运行Explain如何分析Explain的表格利用EXPLAIN对SQL优化 何为Explain Explain是本菜几天前才接触到的内容,做一篇blog梳理梳理自己现在这几天所学的内容。 Explain本质上是一个数据库SQL语句的模拟器,他通过对SQL语句的模拟,返回一个SQL语句的性能分析表,根据这张表的内容,工程狮可以具体了解到为啥我的程序这么慢了。第一款支持 explain功能的是MySQL 5.5,但是初始级的explain只提供对于s原创 2020-05-18 04:36:58 · 202 阅读 · 0 评论