![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mysql
文章平均质量分 83
wenjieyatou
想成为一名会写代码的程序媛~
展开
-
技术基础整理---事务 数据库(1)
数据库事务的大特性以及事务的隔离级别 数据库事务的四大特性主要是ACID。 如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性:⑴ 原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,这和前面两篇博客介绍事务的功能是一样的概念,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响。⑵ 一致...原创 2018-06-07 11:13:49 · 376 阅读 · 0 评论 -
技术基础整理---索引 数据库(2)
一、存储引擎InnoDBMyISAM比较二、数据类型整型浮点数字符串时间和日期三、索引B-Tree 和 B+Tree 原理索引分类索引的优点索引优化四、查询性能优化使用 Explain 进行分析优化数据访问重构查询方式五、切分水平切分垂直切分Sharding 策略Sharding 存在的问题参考资料一、存储引擎InnoDBInnoDB 是 MySQL 默认的事务型存储引擎,只有在需要 In...原创 2018-06-07 15:37:57 · 427 阅读 · 0 评论 -
MySQL索引背后的数据结构及算法原理
摘要本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL时主要打交道的索引,至于哈希索引和全文索引本文暂不讨论。文章主要内容分为三个部分。第一部分主要从...转载 2018-06-07 20:38:45 · 145 阅读 · 0 评论 -
Mysql服务端(一)---数据类型选择
要了解 MySQL 数据库,首先必须要了解 MySQL 支持的数据类型。实际上,MySQL 支持很多数据类型,包括整数类型、实数类型、字符串类型、枚举类型、时间类型等。整数类型对于整数类型,可以使用 TINYINT、 SMALLINT、 MEDIUMINT、 INT、 BIGINT 等。每个整数类型都对应着不同的存储空间。数据类型存储(Bytes)TINYINT1SMALLINT2...转载 2018-06-09 11:44:42 · 304 阅读 · 1 评论 -
Mysql服务端(二)--- 存储引擎 InnoDB和MyISAM
作为 MySQL 数据库的两种主要的存储引擎,InnoDB 与 MyISAM 各有长处。 在 MySQL 5.1 及之前的版本中,MyISAM 是默认的存储引擎,而在 MySQL 5.5 版本以后,默认使用 InnoDB 存储引擎。 MyISAM 不支持行级锁,换句话说,MyISAM 会对整张表加锁,而不是针对行。同时,MyISAM 不支持事务和外键。M...原创 2018-06-09 11:49:44 · 278 阅读 · 0 评论 -
Mysql服务端(三)--- 索引及设计建议
占原创 2018-06-09 11:50:36 · 380 阅读 · 0 评论 -
Mysql服务端(四)--- sql优化建议
问题的提出 在应用系统开发初期,由于开发数据库数据比较少,对于查询SQL语句,复杂视图的的编写等体会不出SQL语句各种写法的性能优劣,但是如果将应用系统提交实际应用后,随着数据库中数据的增加,系统的响应速度就成为目前系统需要解决的最主要的问题之一。系统优化中一个很重要的方面就是SQL语句的优化。对于海量数据,劣质SQL语句和优质SQL语句之间的速度差别可以达到上百倍,可见对于一个系统不是简单地能实...转载 2018-06-09 18:40:50 · 311 阅读 · 0 评论 -
Mysql服务端(五)--- 分库分表设计
面对海量数据,例如,上千万甚至上亿的数据,查询一次所花费的时间会变长,甚至会造成数据库的单点压力。因此,分库与分表的目的在于,减小数据库的单库单表负担,提高查询性能,缩短查询时间。分表概述随着用户数的不断增加,以及数据量的不断增加,会使得单表压力越来越大,面对上千万甚至上亿的数据,查询一次所花费的时间会变长,如果有联合查询的情况下,甚至可能会成为很大的瓶颈。此外,MySQL 存在表...转载 2018-06-09 19:24:04 · 323 阅读 · 0 评论