(三)2.1 mysql 数据库对象优化之--数据库引擎选择
来源:互联网 发布:淘宝隐藏导航代码 编辑:程序博客网 时间:2024/05/22 03:25
首先mysql数据库对象包括哪些?
数据库(database)
表(table)
和我们日常使用的表格类似,由行和列组成,一行数据成为一个记录,它表达具有一定意义的组合。一个数据表是由一个或者多条记录组成,没有任何记录的表称为空表。每个表中通常有唯一的一个主关键字,用于唯一的确定一条记录。
索引(index)
索引是根据指定的数据库表列建立起来的顺序。提供了快速访问的途径,就像是我们查看新华字典的目录一样,根据目录能很快的查找到字所处的位置。
视图(view)
视图看上去和表一样,具有一组名字的字段和数据项,但它其实是一张虚拟的表,在数据库中实际上不存在。视图是由查询数据库表产生的,它限制了用户能够看到和修改的数据。由此可见,视图可以控制用户对数据的访问,并能简化数据的显示,即通过视图只显示那些需要的数据信息。
可以多张表虚拟成一张表,这样在查询的时候直接查询视图这张虚拟表就可以了,不用再多的联合查询了。
图表(diagram)
其实就是数据表之间的关系示意图,利用它可以编辑表与表之间的关系。如下图所示:
缺省值(default)
缺省值是在表中创建或者插入数据时,对没有指定其具体值的列或者数据项赋予事先设定好的值。
规则(Rule)
规则是对表中数据信息的限制,它限制的是表的列。
触发器(trigger)
触发器是用户定义的SQL事务命令集合。当对一个表机进行插入、更改、删除时,这组命令就会执行。
存储过程(proc)
存储过程是为了完成特定的功能而汇集在一起的一组sql程序语句,经过编译之后存储在数据库中的sql程序。
用户(User)
所谓用户就是有权限访问数据库的人。
从数据库对象说起,首先数据引擎,数据库引擎选择?
数据库有如下引擎
什么是引擎?
引擎,engine,生活中引擎很常见,比如飞机引擎,汽车引擎,游戏引擎,搜索引擎,中文搜索引擎,引擎也就是核心的意思,对于机动车来说引擎就是发动机,就是主要核心部件。在数据库中也同样如此,是可以理解为数据库核心部分,核心“部件”。
mysql常用的引擎包括MYISAM、Innodb和Memory,各自的特点如下:
1、MYISAM:应用时以读和插入操作为主,只有少量更新和删除,并且对事物的完整性和并发性要去不是很高时选择。MYISAM全表锁,拥有较高的执行速度,并发能力差,占用空间相对较小,mysql5.5 及以下仅MYISAM支持全文索引,不支持事务。
2、Innodb:行级锁(SQL都走索引查询),并发能力相对较强,占用空间是MYISAM的2.5倍,不支持全文索引(5.6开始支持),支持事务。
事务处理,以及并发条件下要求数据的一致性。除了插入和查询之外,包括很多的更新和删除。(Innodb有效地降低删除和更新导致的锁定)
对于Innodb类型的表来说,影响速度的主要原因是AUTOCOMMIT默认是开启的,如下查询:
value值为NO标识autocommit开启状态。(http://www.qttc.net/201208175.html)
没有显式调用BEGIN开始事务,导致每插入一条都自动提交,严重影响了速度。
我们可以在执行sql前调用begin,多条sql形成一个事务,显示的调用(无论autocommit是开还是关闭状态),将会大大的提高性能。
Memory:全表锁,存储在内存当中,速度快,但会占用和数量成正比的内存空间且数据在mysql重启时会丢失。数据保存在RAM,快速访问数据,要求表不能太大或者对mysql异常终止后不能恢复数据。
通过命令我们可以看到当前设置mysql默认引擎为Innodb,我们可以通过修改默认引擎来设置mysql存储引擎。(http://www.cnblogs.com/yjwen/archive/2012/05/01/2478124.html)
部分查询于网络....
1 0
- (三)2.1 mysql 数据库对象优化之--数据库引擎选择
- MySQL数据库性能优化之存储引擎选择
- MySQL数据库性能优化之存储引擎选择
- MySQL数据库性能优化之存储引擎选择
- MySQL数据库性能优化之存储引擎选择
- MySQL数据库性能优化之存储引擎选择
- MySQL数据库性能优化之(五)存储引擎选择
- MySQL数据库性能优化之存储引擎选择
- MySQL数据库性能优化之存储引擎选择
- MySQL数据库性能优化之存储引擎选择
- MySQL数据库性能优化之存储引擎选择
- MySQL数据库性能优化之存储引擎选择
- MySQL数据库性能优化之存储引擎选择
- MySQL数据库性能优化之存储引擎选择
- MySQL数据库性能优化之存储引擎选择
- mysql数据库优化--存储引擎的选择
- MySQL数据库性能优化之存储引擎选择(MyISAM、InnoDB、NDBCluster)
- MySQL数据库性能优化之存储引擎选择(MyISAM、InnoDB、NDBCluster)
- 对IOC,AOP的理解
- Python接口对json串的处理
- iOS 获取沙河路径
- 关于File.expand_path
- Spark DataFrames DataSet
- (三)2.1 mysql 数据库对象优化之--数据库引擎选择
- 洗牌----网易有道2017内推编程题还未完成。
- 代理接口
- dialog 的 immerse mode
- 实现两个下拉选框内容不一致的JS代码
- 数据库存储对象数据注意点
- ubuntu_Light Table字体及相关设置及使用
- msp430g2533之uart
- Spring核心面向接口编程小程序