文档章节

优化 SQL 查询:如何写出高性能SQL语句——15 篇值得回顾的技术热文

 代码不听话
发布于 2017/08/22 14:08
字数 1528
阅读 0
收藏 0
点赞 0
评论 0

注:以下文章,点击标题即可阅读

 

优化 SQL 查询:如何写出高性能SQL语句

 

执行计划是数据库根据SQL语句和相关表的统计信息作出的一个查询方案,这个方案是由查询优化器自动分析产生的,比如一条SQL语句如果用来从一个 10万条记录的表中查1条记录,那查询优化器会选择“索引查找”方式,如果该表进行了归档,当前只剩下5000条记录了,那查询优化器就会改变方案,采用 “全表扫描”方式。

 

 

Redis 核心概念(上)》+ 《Redis 核心概念(下)

 

Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。

 

 

DB 分库分表的基本思想和切分策略

 

Sharding的基本思想就要把一个数据库切分成多个部分放到不同的数据库(server)上,从而缓解单一数据库的性能问题。不太严格的讲,对于海量数据的数据库,如果是因为表多而数据多,这时候适合使用垂直切分,即把关系紧密(比如同一模块)的表切分出来放在一个server上。

 

 

DB 分库分表(1):拆分实施策略和示例演示

 

对数据库进行分库分表(Sharding化)前,需要开发人员充分了解系统业务逻辑和数据库schema.一个好的建议是绘制一张数据库ER图或领域模型图,以这类图为基础划分shard,直观易行,可以确保开发人员始终保持清醒思路。

 

 

DB 分库分表(2):全局主键生成策略

 

本文将主要介绍一些常见的全局主键生成策略,然后重点介绍flickr使用的一种非常优秀的全局主键生成方案。

 

 

DB 分库分表(3):关于使用框架还是自主开发以及 sharding 实现层面的考量

 

当团队对系统业务和数据库进行了细致的梳理,确定了切分方案后,接下来的问题就是如何去实现切分方案了,目前在sharding方面有不少的开源框架和产品可供参考,同时很多团队也会选择自主开发实现,而不管是选择框架还是自主开发,都会面临一个在哪一层上实现sharding逻辑的问题,本文会对这一系列的问题逐一进行分析和考量。

 

 

DB 分库分表(4):多数据源的事务处理

 

系统经sharding改造之后,原来单一的数据库会演变成多个数据库,如何确保多数据源同时操作的原子性和一致性是不得不考虑的一个问题。总体上看,目前对于一个分布式系统的事务处理有三种方式:分布式事务、基于Best Efforts 1PC模式的事务以及事务补偿机制。我们下面对这三种处理方式一一进行分析。

 

 

DB 分库分表(5):一种支持自由规划无须数据迁移和修改路由代码的 Sharding 扩容方案

 

本文将重点围绕“数据库扩容”进行深入讨论,并提出一种允许自由规划并能避免数据迁移和修改路由代码的Sharding扩容方案。

 

 

Facebook 这类网站如何处理数十亿请求并保持高可用性的?

 

Facebook 这类网站如何处理数十亿请求并保持高可用性呢,答案是负载均衡,本文将对其一探究竟。

 

 

减轻服务器负载的建议和技巧

 

我们公司有个面向服务的架构。其中一个服务是字体服务,字体体系和 unicode 编码范围(unicode range)提供字体数据,为用户上传的字体验证权限。我们没想到这个字体服务会有很高的负载1(负载是指线程消耗和 CPU 等待的平均值)。但是去年我们注意到字体服务出人意料地出现高负载,尤其是晚上我们没什么流量的时候。幸运的是,我们发现了这一问题的根本原因,并大幅提升了字体服务的性能和系统整体的稳定性。

 

 

如何理解并正确使用 MySQL 索引

 

索引是存储引擎用于快速查找记录的一种数据结构,通过合理的使用数据库索引可以大大提高系统的访问性能,接下来主要介绍在MySql数据库中索引类型,以及如何创建出更加合理且高效的索引技巧。

 

 

7 月全球数据库排名发布:Oracle 扳回一局,MySQL 最受欢迎

 

本月排名前 20 名中原本排在第 11 位的 Elasticsearch 取代 SQLite 成为第 10,其他数据库的排名均没有变化。SQLite 去年同月本位于排行榜第 9 名,截止现在已下降了两个名次。

 

 

性能优化知多少

 

最近一段时间,系统新版本要发布,在beta客户测试期间,暴露了很多问题,除了一些业务和异常问题外,其他都集中在性能上。有幸接触到这些性能调优的机会,当然要总结了。

 

 

MySQL EXPLAIN 详解

 

MySQL EXPLAIN命令是查询性能优化不可缺少的一部分,本文主要讲解explain命令的使用及相关参数说明。

 

 

带着问题学习分布式系统之数据分片

 

分布式要解决什么问题呢?解决持久化数据太大,单个节点的硬盘无法存储的问题;解决运算量太大,单个节点的内存、CPU无法处理的问题。解决这些问题,有两种思路:scale up,scale out。

© 著作权归作者所有

共有 人打赏支持
粉丝 0
博文 7
码字总数 10453
作品 0
顺义
Oracle、MySQL、云计算、大数据,最热话题好文都在这了!

在过去的九个月里, DBAplus社群始终聚焦各种数据库、云计算、大数据及中间件等热门话题,坚持每天为大家献上最新鲜、最内涵的技术好文!下面小编就把这些优质文章分门别类,给大家做个梳理,...

DBAplus社群 ⋅ 2016/06/29 ⋅ 0

SQL-SQL优化-索引

图文并茂详解 SQL JOIN Join 是关系型数据库系统的重要操作之一,一般关系型数据库中包含的常用 Join:内联接、外联接和交叉联接等。如果我们想在两个或以上的表获取其中从一个表中的行与另一...

掘金官方 ⋅ 2017/12/25 ⋅ 0

秋色园QBlog技术原理解析:性能优化篇:读写分离与文本数据库(十八)

上节回顾: 上节 秋色园QBlog技术原理解析:性能优化篇:用户和文章计数器方案(十七) , 秋色园 QBlog 对于频繁产生更新操作的访问计数器(用户表及文章表),进行了另一种优化方案处理,使得...

晨曦之光 ⋅ 2012/03/09 ⋅ 0

Big Data Strategy & Big SQL

12月8日,IBM软件工程师胡泽远老师,在DBA+社群DB2用户群进行了一次主题为“Big Data Strategy & Big SQL”的线上分享。小编特别整理出其中精华内容,供大家学习交流。同时,也非常感谢胡泽远...

胡泽远 ⋅ 2015/12/10 ⋅ 0

MySQL优化案例:半连接(semi join)优化方式导致的查询性能低下

以下是来自DBA+社群MySQL领域原创专家李海翔分享的MySQL优化案例,关于MySQL V5.6.x/5.7.x SQL查询性能问题。 专家简介 一、简单创建一表,并使用存储过程插入一部分数据...

李海翔 ⋅ 2015/12/07 ⋅ 0

如何在五分钟内快速反馈Oracle数据库问题

我们团队内部有一个问题升级机制,即任何故障(业务反馈问题、hang、或者crash等)必须立即升级给直接主管,并在10分钟之内第二次反馈情况。这要求一线团队对基本问题的侦查方法十分了解,并...

杨志洪 ⋅ 2016/02/16 ⋅ 0

「mysql优化专题」你们要的多表查询优化来啦!请查收(4)

上一篇讲的是单表查询的优化,没看过的朋友可以关注后查看【mysql优化专题】。当然,对数据表的多表查询也是必不可少的。本篇内容主要讲解多表联合查询的优化,本号内有多个专题,致力于长期...

java进阶架构师 ⋅ 2017/12/02 ⋅ 0

「mysql优化专题」单表查询优化的一些小总结,非索引设计(3)

上篇讲解了「mysql优化专题」90%程序员都会忽略的增删改优化(2),相信大家都有所收获。接下来这篇是查询优化。其实,大家都知道,查询部分是远远大于增删改的,所以查询优化会花更多篇幅去...

java进阶架构师 ⋅ 2017/11/24 ⋅ 0

「mysql优化专题」本专题总结终章(13)

一个月过去了,【mysql优化专题】围绕着mysql优化进行了十三篇的优化文章,下面进行一次完整的总结!我尝试用最简短最通俗易懂的话阐述明白每篇文章,让本专题画上完美的句号!坚持到文末,留...

java进阶架构师 ⋅ 01/04 ⋅ 0

一次无意义的面试归来

记录于今年5月的一次面试,最近熊熊太忙了,一直没有上博客,先发一篇面试总结,谨以纪念即将远去的2013年。 昨日去了某业内知名地图软件公司面试,是上周投的简历,周一就收到了HR的电话通知...

bear_cat ⋅ 2013/12/15 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Kubeflow实战系列:利用TFJob导出分布式TensorFlow模型

介绍 本系列将介绍如何在阿里云容器服务上运行Kubeflow, 本文介绍如何使用TfJob导出分布式模型训练模型。 第一篇:阿里云上使用JupyterHub 第二篇:阿里云上小试TFJob 第三篇:利用TFJob运行...

全部原谅 ⋅ 10分钟前 ⋅ 0

007. 深入JVM学习—老年代

老年代空间的主要目的是用于存储由Eden发送来的对象,一般在经历好几次“Minor GC”还会保存下来的对象,才会被复制到老年代,这样就可以存放更多的对象,同时在老年代中执行GC的次数也相对较...

影狼 ⋅ 11分钟前 ⋅ 0

常见的一些C#开源框架或者开源项目

原:https://blog.csdn.net/qq_27825451/article/details/70666044 Json.NET http://json.codeplex.com/ Json.Net 是一个读写Json效率比较高的.Net框架.Json.Net 使得在.Net环境下使用Json更......

whoisliang ⋅ 12分钟前 ⋅ 0

设计模式基本原理

刚开始接触编程这行的时候看过设计模式,当时感觉学这些模式没有太大的用处,当时也看不太懂。但是随着慢慢接触这一行,经过一段时间的编程以后,再回过头来看设计模式,发现设计模式的确是太...

王子城 ⋅ 15分钟前 ⋅ 0

阿里云全面支持IPv6!一文揽尽4位大咖精彩演讲

摘要: 自从去年11月以来,阿里巴巴高度重视数据中心的网络改造、云产品改造、应用及网络改造等多个维度,经过半年以来的建设,阿里云已经完成了域名解析等关键产品的分析,现在阿里云已经完...

传授知识的天使 ⋅ 25分钟前 ⋅ 0

windows Android sdk 配置

1、下载Android SDK,点击安装,直接默认路径即可! 下载地址:http://developer.android.com/sdk/index.html 2、默认路径安装后,安装完成,开始配置环境变量。 3、打开计算机属性——高级系...

阿豪boy ⋅ 28分钟前 ⋅ 0

bash shell script 简明教程

User <--> bash <--> kernel shell is not kernel or part of kernel various shells: tcsh, csh, bash, ksh find the using shell: echo $SHELL find all the shells: cat /etc/shells what......

mskk ⋅ 30分钟前 ⋅ 0

Service Mesh简史

William Morgan Service Mesh是一个相当新的概念,讲它的“历史”似乎有些勉强。就目前而言,Service Mesh已经在部分企业生产环境中运行了超过18个月,它的源头可以追溯到2010年前后互联网公...

好雨云帮 ⋅ 31分钟前 ⋅ 0

10个免费的服务器监控工具

监控你的WEB服务器或者WEB主机运行是否正常与健康是非常重要的。你要确保用户始终可以打开你的网站并且网速不慢。服务器监控工具允许你收集和分析有关你的Web服务器的数据。 有许多非常好的服...

李朝强 ⋅ 43分钟前 ⋅ 0

压缩工具之zip-tar

zip 支持目录压缩。使用yum安装zip包,使用yum安装unzip包 zip 1.txt.zip 1.txt #将1.txt文件压缩,新生成的压缩文件为1.txt.zip,原文件保留 zip -r 123.zip 123/ #-r对目录操作。将123/目录...

ZHENG-JY ⋅ 44分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部