当前位置: 首页 > news >正文

网站建设结构表列举网站开发常用的工具

网站建设结构表,列举网站开发常用的工具,wordpress主题更换字体教程 hu,欧美风格外贸网站建设存储引擎概念 在mysql当中数据库用不同的技术存储在文件中,每一种技术都是使用不同的存储引擎机制,索引技巧,锁定水平,以及最终提供的不同的功能和能力,这些就是我们说的存储引擎 主要功能 1mysql将数据存储在文件系…

存储引擎概念

在mysql当中数据库用不同的技术存储在文件中,每一种技术都是使用不同的存储引擎机制,索引技巧,锁定水平,以及最终提供的不同的功能和能力,这些就是我们说的存储引擎

主要功能

1mysql将数据存储在文件系统中的一种方式和格式
2存储引擎负责执行实际的数据I/O操作
3存储引擎介于数据和文件系统之间,数据会先保存到存储引擎,再按照存储引擎的格式保存到文件系统

Mysql的存储引擎分类

INNODB5.5版本之后的mysql默认存储引擎,也叫事务型速记引擎(写入性能较好),支持ACID(事务的四大特性),支持锁行,锁表。
MYISAM5.5之前的默认存储引擎,插入数据的性能较高,查询速度很优秀,但是不支持事务,也是他被淘汰的原因
Memor所有数据都保存在内存的存储引擎,插入数据,更新数据,查询数据,速度很快,但是占用内存空间比较大,会占用和数据量成正比的内存空间,而且mysql一旦重启,内容很快就会丢失
Csv由逗号分割数据的存储引擎,他会在数据库子目录里为每一个数据表创建一个  .CSV文件,他就是一种普通文本文件,每个数据占用一个文本行,但csv不支持索引
Archive非常适合存储大量的独立的,而且是历史数据的引擎,因为他不需要经常读取,插入的速度很快,只是查询的效率比较低
Blackhole黑洞引擎,写入的任何数据都会消失

MYISAM和INNODB做个分析和对比

MYISAM

不支持事务,也不支持外键,只支持全文索引,数据文件和索引文件是分开的,访问速度快,适用于查询和插入为主的应用

.frm :  存储的表结构

.MYD:存储的数据文件

.MYI:索引文件

MYISAM的特点

1表级锁定,更新数据时,整个都将锁定
2数据库在读写过程中是相互阻塞的(即你不能对一个表又读又写)

支持的存储格式

静态表固定长度表,静态表时mysisam的默认存储格式,静态表中字段都是非可变字段,因此每个记录都是固定长度
优点数据存储快,方便缓存,有了故障容易恢复
缺点占用空间比较多
动态表可以包含可变字段,记录的长度是不固定的
优点占用空间比较少
缺点频繁更新数据,删除记录,会产生碎片,需要定期清理(myisamchk -r  :  清除命令),一旦出现故障恢复比较麻烦。
压缩表myisamchk 工具创建的,占据的空间非常小,每条记录都是单独压缩的

重点 INNODB

1支持事务,支持4个隔离级别,5.5之后是mysql的默认存储引擎
2读写阻塞和隔离级别相关
3支持高效的缓存索引以及缓存数据
4表于主键以簇方式存储BTREE
5支持外键约束,5.5之后INNODB也可以支持全文索引
6对硬件资源的要求比较高
7支持行锁,也可以支持表锁定(全表扫描)

有几个注意点

1如果使用like模糊查询,会进行全表扫描,并且送定整个表
2对没有创建索引的字段进行增,删,改,也会进行全表扫描,锁定整个表,查询可以
3使用索引进行查询,则是行级锁定

INNODB的特点

1不保存表的行数,统计表的行数,会扫描一边整个表来计算有多少行
2自增长索引,INNODB中必须包含只有该字段的索引
3Delete 定空表,它是一行一行删,速度比较 truncate

使用场景

1业务需要事物的支撑
2论坛,微博,对数据一致性比较高的场景
3访问量和并发量比较高的场景,INNODB支持缓存,可以减少后台服务器的压力

三个文件

1表名.frm         表结构文件   
2表名.ibd          既是数据文件,也是索引文件
3db.opt             表的属性文件

Innodb行锁和索引的关系,以及表锁,排他锁,死锁

行锁

如果列名字段是一个普通索引,会锁住索引行,对应的主键一并锁住,实际上就是行锁

如果使用的id是主键,innodb对主键使用聚簇索引,锁定整行的记录

锁定表要对一个非索引键进行操作,当一个事务对非索引列进行操作,因为要全表扫描过滤,所有整张表都会被锁定,另一个事务只能查
排他锁一个事务在操作,另一个事务的操作无法执行,只能查,排他锁只能加一个
死锁

事务之间相互等待对方资源,最后形成一个环路造成的,使用for update   排他锁 可以形成死锁

发生死锁的时候,数据库会自动选择一个事务作为受害者,然后会先解锁死锁,再回滚事务

mysql的默认死锁机制,会中选择一个事务作为死锁的牺牲品,直接终止其中一个事务,但是不会自动回滚。

  1. 存储引擎只能innodb
  2. Mysql默认隔离级别即可

如何尽可能避免死锁

1业务的逻辑要合理,以固定的顺序访问表和行
2如果食物的类型比较复杂,要进行拆分,在业务允许的情况下,可以把大事务拆小,分次执行
3在同一事务中,尽可能一次性锁定所有需要的资源,可以减少死锁的概率
4隔离级别,如果要避免死锁,可以用read  commit  可以避免索引
5添加合理索引,可以减少死锁的概率

悲观锁

乐观锁:不会有任何提示,只是数据不能写入,数据提交更新时,他会进行校验,如发生冲突,最多也就数据不生效而已,没有其他报错,或卡顿卡停现象

一般来说,我们会在表中配置一个version字段,可以自增,通过自增校验来查看数据是否冲突

也可用时间戳方式

索引和行锁之间的关系

非索引的锁表以及死锁

排他锁(悲观锁)

Innodb的机制,和存储文件的格式

http://www.yayakq.cn/news/618938/

相关文章:

  • 临城网站站长工具ip地址查询域名
  • 做网站卖货海口建设厅网站
  • 做网站的系统功能需求模板之家网页模板
  • sogou网站提交网站链接结构
  • 网站建设项目规划书直接买个域名就能自己做网站
  • 优秀手机网站模板图片企业网站的设计要点
  • 网站建设产品培训wordpress子目录
  • php网站开发技术训练心得mui做wap网站
  • 专业行业网站建设黑河做网站
  • 网站建设厌倦装饰公司东莞网站建设
  • 中国建设监督网站页面设计需求需要做哪些方面?
  • 抄底券网站怎么做的wordpress怎样获取文章分类的id
  • 搭建网站平台如何做分录图书购物网站开发的业务分析
  • 网站设置301解除移动屏蔽一个网站需要服务器吗
  • 网站排名提升工具网站建设谈单技巧
  • 单页面网站模板怎么做wordpress 最新 调用
  • 闵行 网站建设公司合肥瑶海区有什么大学
  • 渭南市住房和城乡建设局官方网站空间商指定的网站目录
  • 做网站的空间是什么顺德网站建设市场
  • 网站开发PHP留言本公司logo设计大全 图片欣赏
  • 网站建设技术解决方案免费的客户管理app
  • 怎么给甲方做网站备案网站建设亻金手指科杰
  • 做电子外贸网站做网站前端需要编程基础吗
  • 做国际黄金的网站因网站建设关闭的公告
  • 做微商有什么好的货源网站婚纱网站策划书
  • 丽水微信网站建设哪家好网站域名 文件夹
  • 汉阳网站推广东莞常平翔龙天地
  • 网站页面设计收费3g微网站是什么
  • 南阳做网站多少钱网站开发实训新的体会
  • 网站备案的核验单家用电脑做网站教程