欢迎来到一句话经典语录网
我要投稿 投诉建议
当前位置:一句话经典语录 > 读后感 > 高性能mysql读后感

高性能mysql读后感

时间:2016-08-12 18:26

高性能mysql 第三版基于mysql什么版本

修改slave配置文件启动数据库并导入文件vi \\\/etc\\\/my.cnfserver-id=2mysql -uroot -p <\\\/tmp\\\/my.db

oracle和mysql差别大吗

一、并发性并发性是oltp库最重要的特性,但并发到资源的获取、共享与锁定。

mysql:mysql以表级锁为主,对资定的粒度很大,如果一个session对一个表加锁时间过长,会让其他session无法更新此表中的数据。

虽然InnoDB引擎的表可以用行级锁,但这个行级锁的机制依赖于表的索引,如果表没有索引,或者sql语句没有使用索引,那么仍然使用表级锁。

oracle:oracle使用行级锁,对资源锁定的粒度要小很多,只是锁定sql需要的资源,并且加锁是在数据库中的数据行上,不依赖与索引。

所以oracle对并发性的支持要好很多。

二、一致性oracle:oracle支持serializable的隔离级别,可以实现最高级别的读一致性。

每个session提交后其他session才能看到提交的更改。

oracle通过在undo表空间中构造多版本数据块来实现读一致性,每个session查询时,如果对应的数据块发生变化,oracle会在undo表空间中为这个session构造它查询时的旧的数据块。

mysql:mysql没有类似oracle的构造多版本数据块的机制,只支持read commited的隔离级别。

一个session读取数据时,其他session不能更改数据,但可以在表最后插入数据。

session更新数据时,要加上排它锁,其他session无法访问数据。

三、事务oracle很早就完全支持事务。

mysql在innodb存储引擎的行级锁的情况下才支持事务。

四、数据持久性oracle保证提交的数据均可恢复,因为oracle把提交的sql操作线写入了在线联机日志文件中,保持到了磁盘上,如果出现数据库或主机异常重启,重启后oracle可以考联机在线日志恢复客户提交的数据。

mysql:默认提交sql语句,但如果更新过程中出现db或主机重启的问题,也许会丢失数据。

五、提交方式oracle默认不自动提交,需要用户手动提交。

mysql默认是自动提交。

六、逻辑备份oracle逻辑备份时不锁定数据,且备份的数据是一致的。

mysql逻辑备份时要锁定数据,才能保证备份的数据是一致的,影响业务正常的dml使用。

七、热备份oracle有成熟的热备工具rman,热备时,不影响用户使用数据库。

即使备份的数据库不一致,也可以在恢复时通过归档日志和联机重做日志进行一致的回复。

mysql:myisam的引擎,用mysql自带的mysqlhostcopy热备时,需要给表加读锁,影响dml操作。

innodb的引擎,它会备份innodb的表和索引,但是不会备份.frm文件。

用ibbackup备份时,会有一个日志文件记录备份期间的数据变化,因此可以不用锁表,不影响其他用户使用数据库。

但此工具是收费的。

innobackup是结合ibbackup使用的一个脚本,他会协助对.frm文件的备份。

八、sql语句的扩展和灵活性mysql对sql语句有很多非常实用而方便的扩展,比如limit功能,insert可以一次插入多行数据,select某些管理数据可以不加from。

oracle在这方面感觉更加稳重传统一些。

九、复制oracle:既有推或拉式的传统数据复制,也有dataguard的双机或多机容灾机制,主库出现问题是,可以自动切换备库到主库,但配置管理较复杂。

mysql:复制服务器配置简单,但主库出问题时,丛库有可能丢失一定的数据。

且需要手工切换丛库到主库。

十、性能诊断oracle有各种成熟的性能诊断调优工具,能实现很多自动分析、诊断功能。

比如awr、addm、sqltrace、tkproof等mysql的诊断调优方法较少,主要有慢查询日志。

十一、权限与安全mysql的用户与主机有关,感觉没有什么意义,另外更容易被仿冒主机及ip有可乘之机。

oracle的权限与安全概念比较传统,中规中矩。

十二、分区表和分区索引oracle的分区表和分区索引功能很成熟,可以提高用户访问db的体验。

mysql的分区表还不太成熟稳定。

十三、管理工具oracle有多种成熟的命令行、图形界面、web管理工具,还有很多第三方的管理工具,管理极其方便高效。

mysql管理工具较少,在linux下的管理工具的安装有时要安装额外的包(phpmyadmin, etc),有一定复杂性。

这里很详细。

如何用Go语言打造一个高性能MySQL Proxy

1. 整体架构kingshard采用Go开发,充分地利用了Go语言的并发特性。

Go语言在并发方面,做了很好的封装,这大大简化了kingshard的开发工作。

kingshard的整体工作流程入下所述:读取配置文件并启动,在配置文件中设置的监听端口监听客户端请求。

收到客户端连接请求后,启动一个goroutine单独处理该请求。

首选进行登录验证,验证过程完全兼容MySQL认证协议,由于用户名和密码在配置文件中已经设置好,所以可以利用该信息验证连接请求是否合法。

当用户名和密码都正确时,转入下面的步骤,否则返回出错信息给客户端。

认证通过后,客户端发送SQL语句。

mysql 性能测试报告怎么写

mysql不像 SQL Server写一段SQL,要go了才执行默认 分号就执行了

如何用Go语言打造一个高性能MySQL Proxy

你搜一下kingshard这个插件,就是用go语言写的MySQL插件。

可以支持分表,分库。

在github上。

怎么往mysql表里添加数据

一、 PostgreSQL 的稳定性极强, Innodb 等引擎在崩溃、断电之类的灾难场景下抗打击能力有了长足进步,然而很多 MySQL 用户都遇到过Server级的数据库丢失的场景——mysql系统库是MyISAM的,相比之下,PG数据库这方面要好一些。

二、任何系统都有它的性能极限,在高并发读写,负载逼近极限下,PG的性能指标仍可以维持双曲线甚至对数曲线,到顶峰之后不再下降,而 MySQL 明显出现一个波峰后下滑(5.5版本之后,在企业级版本中有个插件可以改善很多,不过需要付费)。

三、PG 多年来在 GIS 领域处于优势地位,因为它有丰富的几何类型,实际上不止几何类型,PG有大量字典、数组、bitmap 等数据类型,相比之下mysql就差很多,instagram就是因为PG的空间数据库扩展POSTGIS远远强于MYSQL的my spatial而采用PGSQL的。

四、PG 的“无锁定”特性非常突出,甚至包括 vacuum 这样的整理数据空间的操作,这个和PGSQL的MVCC实现有关系。

五、PG 的可以使用函数和条件索引,这使得PG数据库的调优非常灵活,mysql就没有这个功能,条件索引在web应用中很重要。

六、PG有极其强悍的 SQL 编程能力(9.x 图灵完备,支持递归

),有非常丰富的统计函数和统计语法支持,比如分析函数(ORACLE的叫法,PG里叫window函数),还可以用多种语言来写存储过程,对于R的支持也很好。

这一点上MYSQL就差的很远,很多分析功能都不支持,腾讯内部数据存储主要是MYSQL,但是数据分析主要是HADOOP+PGSQL。

七、PG 的有多种集群架构可以选择,plproxy 可以支持语句级的镜像或分片,slony 可以进行字段级的同步设置,standby 可以构建WAL文件级或流式的读写分离集群,同步频率和集群策略调整方便,操作非常简单。

八、一般关系型数据库的字符串有限定长度8k左右,无限长 TEXT 类型的功能受限,只能作为外部大数据访问。

而 PG 的 TEXT 类型可以直接访问,SQL语法内置正则表达式,可以索引,还可以全文检索,或使用xml xpath。

用PG的话,文档数据库都可以省了。

九,对于WEB应用来说,复制的特性很重要,mysql到现在也是异步复制,pgsql可以做到同步,异步,半同步复制。

还有mysql的同步是基于binlog复制,类似oracle golden gate,是基于stream的复制,做到同步很困难,这种方式更加适合异地复制,pgsql的复制基于wal,可以做到同步复制。

同时,pgsql还提供stream复制。

十,pgsql对于numa架构的支持比mysql强一些,比MYSQL对于读的性能更好一些,pgsql提交可以完全异步,而mysql的内存表不够实用(因为表锁的原因)最后说一下我感觉 PG 不如 MySQL 的地方。

第一,MySQL有一些实用的运维支持,如 slow-query.log ,这个pg肯定可以定制出来,但是如果可以配置使用就更好了。

第二是mysql的innodb引擎,可以充分优化利用系统所有内存,超大内存下PG对内存使用的不那么充分,第三点,MySQL的复制可以用多级从库,但是在9.2之前,PGSQL不能用从库带从库。

第四点,从测试结果上看,mysql 5.5的性能提升很大,单机性能强于pgsql,5.6应该会强更多.第五点,对于web应用来说,mysql 5.6 的内置MC API功能很好用,PGSQL差一些。

另外一些:pgsql和mysql都是背后有商业公司,而且都不是一个公司。

大部分开发者,都是拿工资的。

说mysql的执行速度比pgsql快很多是不对的,速度接近,而且很多时候取决于你的配置。

对于存储过程,函数,视图之类的功能,现在两个数据库都可以支持了。

另外多线程架构和多进程架构之间没有绝对的好坏,oracle在unix上是多进程架构,在windows上是多线程架构。

很多pg应用也是24\\\/7的应用,比如skype. 最近几个版本VACUUM基本不影响PGSQL 运行,8.0之后的PGSQL不需要cygwin就可以在windows上运行。

至于说对于事务的支持,mysql和pgsql都没有问题。

声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。联系xxxxxxxx.com

Copyright©2020 一句话经典语录 www.yiyyy.com 版权所有

友情链接

心理测试 图片大全 壁纸图片