
数据库技术
Han_Sen
机器学习,数据挖掘研究者,痴迷于该领域
展开
-
mysql面试--三大范式
mysql的三大范式 ,包含原子性,唯一性,直接性原创 2017-08-26 17:32:21 · 718 阅读 · 0 评论 -
mysql优化系列02--(存储引擎选择)
摘自:http://blog.youkuaiyun.com/jack__frost/article/details/729043181. InnoDB引擎 InnoDB是一个事务型的存储引擎,有行级锁定和外键约束。Innodb引擎提供了对数据库ACID事务的支持,并且实现了SQL标准的四种隔离级别,关于数据库事务与其隔离级别的内容请见数据库事务与其隔离级别这类型的文章。该引擎还提供了行级锁和外键转载 2017-09-11 12:17:20 · 268 阅读 · 0 评论 -
mysql优化系列--01(磁盘I/O优化)
1.硬盘组织方式RAID0:RAID0称为条带化(Striping)存储,将数据分段存储于 各个磁盘中,读写均可以并行处理。因此其读写速率为单个磁盘的N倍(N为组成RAID0的磁盘个数),但是却没有数 据冗余,单个磁盘的损坏会导致数据的不可修复。特点:至少需要两块磁盘,读取速度快、但安全系数低,一块磁盘的损坏会导致所有数据不可用RAID1:镜像存储(mirroring),没有数据校原创 2017-09-11 11:06:48 · 825 阅读 · 0 评论 -
mysql数据库--三大范式
为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。要想设计一个结构合理的关系型数据库,必须满足一定的范式。1.第一范式:核心要点:列不可分列可分,则不满足2.第二范式:核心要点:非主属性完全依赖于主属性,说的直白一点就是,除了主键列,其他列必须完全依赖主键3.第三范式:核心要点原创 2017-09-10 22:08:05 · 373 阅读 · 0 评论 -
mysql面试--数据库优化
Mysql数据库的优化一般从sql及索引优化、表结构优化、系统配置优化、硬件优化四个方面来考虑表结构优化:1. 避免使用NULL NULL对于大多数数据库都需要特殊处理,MySQL也不例外,它需要更多的代码,更多的检查和特殊的索引逻辑,有些开发人员完全没有意识到,创建表时NULL是默认值,但大多数时候应该使用NOT NULL,或者使用一个特殊的值,如0,-1作为默认值。2. 尽原创 2017-08-26 21:48:10 · 524 阅读 · 0 评论 -
mysql面试--建立索引
索引分单列索引和组合索引。单列索引,即一个索引只包含单个列,一个表可以有多个单列索引,但这不是组合索引。组合索引,即一个索引包含多个列。 创建索引时,你需要确保该索引是应用在 SQL 查询语句的条件(一般作为 WHERE 子句的条件)。 普通索引: (1)CREATE INDEX indexName ON mytable(username(length))原创 2017-08-26 21:11:50 · 371 阅读 · 0 评论 -
mysql面试--索引原理
转自:http://blog.jobbole.com/86594/ 假设数据库中一个表有10^6条记录,DBMS的页面大小为4K,并存储100条记录。如果没有索引,查询将对整个表进行扫描,最坏的情况下,如果所有数据页都不在内存,需要读取10^4个页面,如果这10^4个页面在磁盘上随机分布,需要进行10^4次I/O,假设磁盘每次I/O时间为10ms(忽略数据传输时间),则总转载 2017-08-26 19:21:39 · 1443 阅读 · 0 评论 -
mysql面试--事务
事务的四个特性:ACID(1)原子性:事务里面的操作,要么全部成功执行,要么全部失败回滚,不可以只执行其中的一部分。(2)一致性:一个事务的执行不应该破坏数据库的完整性约束。(3)通常来说,事务之间的行为不应该互相影响。然而实际情况中,事务相互影响的程度受到隔离级别的影响。(4)持久性。事务提交之后,需要将提交的事务持久化到磁盘。即使系统崩溃,提交的数据也不应该丢失。事务的隔离转载 2017-08-26 19:09:59 · 522 阅读 · 0 评论 -
mysql面试--引擎MyISAM与InnoDB的区别
在MySQL数据库中,常用的引擎主要就是2个:Innodb和MyIASM原创 2017-08-26 18:42:53 · 1360 阅读 · 0 评论 -
mysql优化系列03==Myisam优化
转自:http://blog.youkuaiyun.com/bzfys/article/details/480554451. 优化MySQL SERVER 7组后台进程 masterthread:主要负责将脏缓存页刷新到数据文件,执行purge操作,触发检查点,合并插入缓冲区等。 insertbuffer thread:主要负责插入缓冲区的合并操作。转载 2017-09-11 15:35:04 · 462 阅读 · 0 评论