首页 文章 精选 留言 我的
优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/661446

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

阿里P8架构师细谈:MySQL数据库的索引原理、与慢SQL优化的5大原则

MySQL凭借着出色的性能、低廉的成本、丰富的资源,已经成为绝大多数互联网公司的首选关系型数据库。虽然性能出色,但所谓“好马配好鞍”,如何能够更好的使用它,已经成为开发工程师的必修课,我们经常会从职位描述上看到诸如“精通MySQL”、“SQL语句优化”、“了解数据库原理”等要求。 我们知道一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,遇到最多的,也是最容易出问题的,还是一些复杂的查询操作,所以查询语句的优化显然是重中之重。 本文旨在以开发工程师的角度来解释数据库索引的原理和如何优化慢查询。 MySQL索引原理 1.索引目的 索引的目的在于提高查询效率,可以类比字典,如果要查“mysql”这个单词,我们肯定需要定位到m字母,然后从下往下找到y字母,再找到剩下的sql。如果没有索引,那么你可能需要把所有单词看一遍才能找到你想要的,如果我想找到m开头的单词呢?或者ze开头的单词呢?是不是觉得如果没有索引,这个事情根本无法完成? 2.索引原理 除了词典,生活中随处可见索引的例子,如火车站的车次表、图书的目录等。它们的原理都是一样的,通过不断的缩小想要获得...

项目上线后出了问题并造成损失,原因是代码逻辑问题,责任应该由程序员承担吗?

只要是程序就会存在漏洞,成熟的程序相对漏洞会少一点,上线之后出了问题并且造成损失,表面上看是程序员代码直接导致的,作为实现者本身来讲是负有一定责任,但如果把所有的过失都归结到程序员身上欠妥,从整个链条上来看项目的负责人要承担很大的责任,因为项目版本的发布和负责人的最后的拍板有直接的关系,项目中除了技术人员还有测试人员,重大的隐患没有测试出来测试人员也是负有一定的责任。 为什么程序这么容易出问题? 1.项目中程序框架设计不合理,导致兼容性或者抗风险能力出问题,好的框架在一定程度上会规避很多不必要的问题出现,而且在新添加功能后不会影响整体逻辑,千军好得一将难求,一个好的架构师对于一个项目启动显得至关重要,但并不是每个软件公司都能请的起高端的技术人才,所以难免开始设计的框架存在问题,架构师不是天生就有的,也是无数项目摸爬滚打出来经验提炼出来的,很多老程序员根据自己做的多个项目积累经验,然后架构出来的东西基本上差异也不会太大。 2.项目周期赶得太急,导致很多功能没有完全走通就匆匆忙忙上线,这种可能导致功能模块在还没有完全调研清楚就直接开搞代码,所以容易在实现功能过程中忽略掉一些细节,这种细节可...

相关文章

发表评论

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册