【代孕包成功】【代孕微信:13802269370】【可选男女】山穷水尽后,我们找了个代孕妈妈。妈妈帮妈妈网,代孕,对一些人来说既隐秘又无奈,多年以来关于“代孕究竟应不应该合法化”的问题一直是舆论热点。代孕是一种新的观念,新的趋势。在现今社会里人类文明高度发达,特别是成都,广州,深圳,北京,武汉一带依然有不少不孕不育的夫妇。随着人工生殖科技的迅速发展,七十年代以来,欧美各国陆续开始有人委托代理孕母怀孕生子,代孕是一种解决不孕不育的临床选择。
一:插件式存储引擎
c端通过连接器连接到s服务端
架构
SHOW ENGINES; 查看所支持引擎
SHOW table status where Engine=’InnoDB ’; 显示表状态信息
SHOW table status\G 查看表状态信息
InnoDB 存储引擎
数据都基于表空间存储 有2中存放格式
1 所有的类型为InnoDB 的表的数据和索引存储于同一个表空间中,该表空间名为ibdata1,但这种方式不支持InnoDB的高级功能
2 在配置问价那种加入
innodb_file_per_table=ON,意味着每表使用单独的表空间文件;(支持高级功能如单表的导入导出)
重启:systemctl restart mysql
每表的数据文件(数据和索引,存储于数据库目录)存储于自己专用的表空间文件中,并存储于数据库目录下: tbl_name.ibd
这样创建的表就是一个单独的表空间在对应的库
表结构的定义:在数据库目录,tbl_name.frm
对于并发操作,基于快照的形式来进行
使用聚集索引:把索引和数据存储在一处,通过索引能直接找到数据,辅助索引指向聚集索引
支持行锁 :
锁粒度:行级锁,间隙锁
InnoDB 特性:总结:
数据存储:表空间;
并发:MVCC,间隙锁,行级锁;
索引:聚集索引、辅助索引;
性能:预读操作、内存数据缓冲、内存索引缓存、自适应Hash索引、插入操作缓存区;
备份:支持热备;
MyISAM:
支持全文索引(FULLTEXT index)但性能比较差、压缩、空间函数(GIS);
不支持事务()
锁粒度:表级锁
适用场景:只读或读多写少的场景、较小的表(以保证崩溃后恢复的时间较短);
文件:每个表有三个文件,存储于数据库目录中
tbl_name.frm:表格式定义;
tbl_name.MYD:数据文件;
tbl_name.MYI:索引文件;
特性:
加锁和并发:表级锁;
修复:手动或自动修复、但可能会丢失数据;
索引:非聚集索引;
延迟索引更新;
表压缩;
其它的存储引擎:
CSV:将CSV文件(以逗号分隔字段的文本文件)作为MySQL表文件;
MRG_MYISAM:将多个MyISAM表合并成的虚拟表;
BLACKHOLE:类似于/dev/null,不真正存储数据;
MEMORY:内存存储引擎,支持hash索引,表级锁,常用于临时表;
FEDERATED: 用于访问其它远程MySQL服务器上表的存储引擎接口;
搜索引擎:
lucene, sphinx
lucene:Solr, ElasticSearch
SHOW ENGINE Innondb status 查看引擎自己的状态
二 事物:
并发控制:用于并发控制锁机制
锁类型:
读锁:共享锁,可以被多个读操作共享
写锁: 排它锁,独占锁
锁粒度:
表锁:在表级别施加锁,并发性较低;每次读写都需锁定整张表
行锁:在行级别施加锁,并发性较高;维持锁状态的成本较大;
锁策略:在锁粒度及数据安全性之间寻求一种平衡机制;
存储引擎:级别以及何时施加或释放锁由存储引擎自行决定;
MySQL Server:表级别,可自行决定,也允许显式请求; 显式锁
锁类别:
显式锁:用户手动请求的锁;
隐式锁:存储引擎自行根据需要施加的锁;
显式锁的使用:
(1) LOCK TABLES 锁表
LOCK TABLES tbl_name read|write, tbl_name read|write, ...
UNLOCK TABLES 解锁
如
use mydb
LOAK TABLE tbl2 read ; 读锁是另一个线程可以读不可写
(2) FLUSH TABLES 刷写所有表 (把表中数据都写到磁盘中去,并关闭这个表) 锁定整个库
FLUSH TABLES tbl_name,... [WITH READ LOCK];
UNLOCK TABLES; 解锁
FLUSH TABLES with read lock; 把所有表在缓存中数据都写入磁盘,并库中所有表加读锁
事物:一组原子性的SQL查询、或者是一个或多个SQL语句组成的独立工作单元;
看是否支持一个事物需要满住ACID测试
ACID测试:
A:AUTOMICITY,原子性;整个事务中的所有操作要么全部成功执行,要么全部失败后回滚;这都是基于事物日志进行的
C:CONSISTENCY,一致性;数据库总是应该从一个一致性状态转为另一个一致性状态;
I:ISOLATION,隔离性;一个事务所做出的操作在提交之前,是否能为其它事务可见;出于保证并发操作之目的,隔离有多种级别; 事物之间隔离
D:DURABILITY,持久性;事务一旦提交,其所做出的修改会永久保存
事物日志:是磁盘上一段连续的空间 :默认把该操作本身记录在日志中,由日志同步到数据中,这样可以根据日志记录的步骤进行回滚
日志中记录了操作步骤,可以支持回滚 ,事物日志做冗余,
SHOW GLOBAL VARIABLES LIKE ‘innodb%log%’; 查看事物日志的
关闭自动提交事物:
1 SHOW SESSION VARIABLES LIKE ‘%commit%’;
2SELECT @@ session .autocommit; 查看自动提交是否开启
3SET @@session.autocommit=0; 关闭自动
手动控制事务:
启动:START TRANSACTION
SAVEPOINT first ; 做保存点 为以后可以回滚带该点
提交:COMMIT
回滚:ROLLBACK 在没提交前
ROKKBACK to first ; 滚到第一个保存点
事务隔离级别:
1 READ-UNCOMMITTED:读未提交 --> 脏读;隔离级太低 别人没有提交的数据可以看到
2 READ-COMMITTED:读提交--> 不可重复读;没提交之前是不可读
3 REPEATABLE-READ:可重复读 --> 幻读;在对方提交之前看不到修改的数据,在对方提交之后还是看不到,只要自己没有做什么修改,但自己执行rollback后才能看到
4 SERIALIZABLE:串行化;当一个没有提交或回滚之前,是操作阻塞的,只有当多方结束了,才可以操作
如SELECT @@session.tx_isolation; 查看
SET @@sessio.tx_isolation=’READ-UNCOMMITTED’ 修改级别