mysql专精.doc
上传人:sy****28 上传时间:2024-09-14 格式:DOC 页数:6 大小:40KB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

mysql专精.doc

mysql专精.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

16 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

36/6<636<6*6100/2<60100<60*2Mysq数据引擎MYISAM首先它不支持事物,所以对事物要求高的业务不适合,然后呢其锁定机制是表级索引,虽然锁定的实现很容易但大大降低了并发性能,,也因此当我们在对它查询的时候不能插写入,写入的时候不能查询,但是当查询数据时,不会阻碍其他的查询语句,还有myisam可以通过key_buffer缓存来大大提高访问性能减少硬盘IO,但是这个缓冲区只会缓存索引,不会缓存数据适用场景:不需要事物支持,并发相对较低(锁定机制),数据修改相对较少(阻塞问题),以查询为主最佳优化:尽量索引,调整读写优先级,启用延迟插入改善大批量写入性能,Innodbl它具有较好的事物支持,支持4个事物隔离级别,支持多版本读,它读写的时候和事物隔离相关,并且它的缓存特性非常高效,能缓存索引和数据,整个表和主键以集群方式存储,并可以通过索引来实现行级锁定适用场景:需要事物支持,数据更新较为频繁,行家锁定对高并发有很好的适应能力,但需要确保查询是根据索引完成,它对数据一致性要求较高,通过innoDB的缓存能力来提高内存利用,达到减少硬盘IOBDB分布式存储引擎,可以由多个BDB存储引擎组成集群来分别存放数据,它可以和mysqld分开存在于独立的机器上,然后通过网络进行交互,它对内存的需求量很大适用场景:具有非常高的并发需求,对单个请求的响应要求不是很快,查询简单,过滤条件较为固定,每次请求数据量较少Memory(heap)能像session和缓存一样方便操作和管理,充分的发挥了内存引擎的特点,高速度,低延迟,适合只读或者频繁读的操作,不适合频繁写入,Federated专门用于访问远程数据库,因此能够将多个分离的Mysql服务器链接起来,从多个物理服务器创建一个逻辑数据库,十分适用于分布式环境或者数据集市环境,然后通过它建的表这是在本地只有一个表定义的文件,而数据则会存在远程数据库当中Archive引擎为大量很少引用的历史,文档,或安全审计信息的存储和检索提供解决方案,它的优点是插入同样的数据,比myisam节约75%的空间,比innoDB节约83%,当数据量非常大的时候,插入性能会比myisam更好,不过呢它不支持索引,当我们需要移植数据时,archive可以方便的移动到新的mysql环境,我们只需要将它的底层文件复制过去就OK了把myisam的数据表移到innoDBMERGE存储分离动态和静态的数据,它利用结构接近的数据来优化查询,查询时可以访问更少的数据,更容易维护大数据集,我们可以通过修改。Mrg文件动态的增加和减少子表,应用的场景:如果需要把日志记录不停的录入mysql数据库,并且每天,每周,或者每个月都创建一个单一的表,而且要时常进行来自多个表的合计查询,这时候我们用它会非常简单有效。CSV引擎简单并且很方便,说它简单是它创建和使用的时候很简单,方便是它的数据存储文件格式就是通用的CSV文件格式,这种格式很常见,很多软件都支持,因此它没有索引,主要的用途是,当我们在输出CSV报表的时候使用查询优化Explainselect*…..Table显示这一行的数据是关于哪一张表的Type这是重要的列显示连接使用了何种类型Possible_keys显示可能应用在这张表的索引Key实际使用的索引如果为NULL,mysql有可能会选择优化不足的条件,这种情况下,可以在select语句中使用useRef显示索引的那一列被使用了Rowsmysql认为必须检查的用来返回请求数据的行数Extramysql如何解析查询的额外信息。Extra返回的描述的意义ALTERTABLE表名CHANGETYPE=InnoDB如果只是想把表格从ISAM更新为MyISAM,你可以使用MySQL_convert_table_format命令,而不需要编写ALTERTABLE表达式。你可以使用SHOWTABLE命令(这是MySQL对ANSI标准的另一个扩展)来确定哪个引擎在管理着特定的表格。SHOWTABLE会返回一个带有多数据列的结果集,你可以用这个结果集来查询获得所有类型的信息:数据库引擎的名称在Type字段里。下面的示例代码说明了SHOWTABLE的用法:SHOWTABLESTATUSFROMtblInnoDB由于MySQL能够允许你在表格这一层应用数据库引擎,所以你可以只对需要事务处理的表格来进行性能优化,而把不需要事务处理的表格交给更加轻便的MyISAM引擎。对于MySQL而言,灵活性才是关键。Mysql优化1当知道只要查询一条数据时,使用limit12如果有一个字段,比如性别国家民族状态