`

mysql优势

 
阅读更多

mysql的优势:

1. 借鉴互联网产品,例如淘宝,底层的关系数据库都是使用mysql,特别是数据魔方,myfox的底层就是mysql

2. mysql是开源数据库,提供的接口支持多种语言连接操作

3. mysql支持不同的存储引擎,可以根据业务的需要选择不同的引擎。

例如:支持事务处理的InnoDB存储引擎提供了具有提交、回滚和崩溃恢复能力的事务安全。---用于支付中心

      但是比起MyISAM存储引擎,InnoDB写的处理效率差一些并且会占用更多的磁盘空间以保留数据和索引。 

      所以对于互联网产品,响应速度将决定着一个产品的成败,据数据显示,网站每延迟一秒将会造成用户满意度下降16%,甚至做成每年250万的损失。

      而mysql的myISAM引擎不支持事务处理,但是响应速度是非常快的,特别是5.5版本之后,速度又有很大的提升,所以,可以根据业务的不同需要进行选择不同的引擎。

4. 讲到互联网产品,大多是读写差距比较大,mysql提供了简单的管理操作并且易于维护,使用数据复制功能就可以非常容易的实现主从读写分离,

,实现负载均衡与mysql的集群,同时,mysql是表级锁,当写入一张表操作时,其他的线程将无法在操作这张表,所以主表只负责写操作,多个从表实现读操作,提高系统的读写速度。

 

 

 

 

 

 

数据库引擎:

ISAM:ISAM是一个定义明确且历经时间考验的数据表格管理方法,它在设计之时就考虑到 数据库被查询的次数要远大于更新的次数。因此,ISAM执行读取操作的速度很快,而且不占用大量的内存和存储资源。ISAM的两个主要不足之处在于,它不 支持事务处理,也不能够容错:如果你的硬盘崩溃了,那么数据文件就无法恢复了。如果你正在把ISAM用在关键任务应用程序里,那就必须经常备份你所有的实 时数据,通过其复制特性,MYSQL能够支持这样的备份应用程序。

 

    MyISAM:MyISAM是MySQL的ISAM扩展格式和缺省的数据库引擎。除了提供ISAM里所没有的索引和字段管理的大量功能,MyISAM还使用一种表格锁定的机制,来优化多个并发的读写操作,其代价是你需要经常运行OPTIMIZE TABLE命令,来恢复被更新机制所浪费的空间。MyISAM还有一些有用的扩展,例如用来修复数据库文件的MyISAMCHK工具和用来恢复浪费空间的 MyISAMPACK工具。MYISAM强调了快速读取操作,这可能就是为什么MySQL受到了WEB开发如此青睐的主要原因:在WEB开发中你所进行的大量数据操作都是读取操作。所以,大多数虚拟主机提供商和INTERNET平台提供商只允许使用MYISAM格式。MyISAM格式的一个重要缺陷就是不能在表损坏后恢复数据。

 

    HEAP:HEAP允许只驻留在内存里的临时表格。驻留在内存里让HEAP要比ISAM和MYISAM都快,但是它所管理的数据是不稳定的,而且如果在关机之前没有进行保存,那么所有的数据都会丢失。在数据行被删除的时候,HEAP也不会浪费大量的空间。HEAP表格在你需要使用SELECT表达式来选择和操控数据的时候非常有用。要记住,在用完表格之后就删除表格。

 

    InnoDB:InnoDB数据库引擎都是造就MySQL灵活性的技术的直接产品,这项技术就是MYSQL++ API。在使用MYSQL的时候,你所面对的每一个挑战几乎都源于ISAM和MyISAM数据库引擎不支持事务处理(transaction process)也不支持外来键。尽管要比ISAM和 MyISAM引擎慢很多,但是InnoDB包括了对事务处理和外来键的支持,这两点都是前两个引擎所没有的。如前所述,如果你的设计需要这些特性中的一者 或者两者,那你就要被迫使用后两个引擎中的一个了。 

 

    MySQL 官方对InnoDB是这样解释的:InnoDB给MySQL提供了具有提交、回滚和崩溃恢复能力的事务安全(ACID兼容)存储引擎。InnoDB锁定在行级并且也在SELECT语句提供一个Oracle风格一致的非锁定读,这些特色增加了多用户部署和性能。没有在InnoDB中扩大锁定的需要,因为在InnoDB中行级锁定适合非常小的空间。InnoDB也支持FOREIGN KEY强制。在SQL查询中,你可以自由地将InnoDB类型的表与其它MySQL的表的类型混合起来,甚至在同一个查询中也可以混合。

 

    InnoDB是为处理巨大数据量时的最大性能设计,它的CPU效率可能是任何其它基于磁盘的关系数据库引擎所不能匹敌的。

 

    InnoDB存储引擎被完全与MySQL服务器整合,InnoDB存储引擎为在主内存中缓存数据和索引而维持它自己的缓冲池。InnoDB存储它的表&索引在一个表空间中,表空间可以包含数个文件(或原始磁盘分区)。这与MyISAM表不同,比如在MyISAM表中每个表被存在分离的文件中。InnoDB 表可以是任何尺寸,即使在文件尺寸被限制为2GB的操作系统上。

 

    InnoDB默认地被包含在MySQL二进制分发中。Windows Essentials installer使InnoDB成为Windows上MySQL的默认表。

 

    InnoDB被用来在众多需要高性能的大型数据库站点上产生。著名的Internet新闻站点Slashdot.org运行在InnoDB上。 Mytrix, Inc.在InnoDB上存储超过1TB的数据,还有一些其它站点在InnoDB上处理平均每秒800次插入/更新的

 

 

    一般来说,MyISAM适合:(1)做很多count 的计算;(2)插入不频繁,查询非常频繁;(3)没有事务。InnoDB适合:(1)可靠性要求比较高,或者要求事务;(2)表更新和查询都相当的频繁,并且表锁定的机会比较大的情况。

 

 

 

分享到:
评论

相关推荐

    MySql安装卸载教程

    MySql 优势: 1. 轻量级:MySql 是一种轻量级的数据库管理系统,占用系统资源较少。 2. 高性能:MySql 具有高性能的查询和存储能力,适合大规模数据存储和查询。 3. 可扩展性强:MySql 支持多种存储引擎,支持多种...

    2017最新老男孩MySQL高级专业DBA实战课程全套【清晰不加密】,看完教程月入40万没毛病

    12-为什么选择MySQL数据库即MySQL优势介绍.avi 13-MySQL数据库分类与版本升级知识讲解.avi 14-MySQL数据库商业版与社区版区别.avi 15-MySQL数据库的发布版本知识讲解.avi 16-MySQL数据库发展的三条产品线介绍.avi 17...

    mysql主从数据库的优势

    MySQL主从数据库的优势详解 MySQL主从服务器配置是数据库领域中一种常见的高可用性和高性能解决方案。这一机制允许数据从一个主服务器(Master)复制到一个或多个从服务器(Slave),以此来实现数据冗余、负载均衡...

    MySQL的面试题集锦

    相比 Oracle,MySQL 有什么优势?MySQL 是开源软件,随时可用,无需付费。MySQL 是便携式的,带有命令提示符的 GUI。使用 MySQL 查询浏览器支持管理。 FLOAT 和 DOUBLE 如何区分 FLOAT 和 DOUBLE?FLOAT 是以 8 位...

    MySQL55道面试题及答案

    5. MySQL 优势 MySQL 是开源软件,随时可用,无需付费。MySQL 是便携式的带有命令提示符的 GUI。使用 MySQL 查询浏览器支持管理。 6. FLOAT 和 DOUBLE FLOAT 和 DOUBLE 是浮点数类型的两种实现,FLOAT 以 8 位精度...

    mysql面试题含答案超全文档下载

    4. MySQL 优势: MySQL 是开源软件,随时可用,无需付费。MySQL 是便携式的带有命令提示符的 GUI。使用 MySQL 查询浏览器支持管理。 5. FLOAT 和 DOUBLE 的区别: FLOAT 浮点数以 8 位精度存储在 FLOAT 中,并且有四...

    MySQL面试,你不能不知道的25道面试题!

    3. **MySQL优势**:MySQL开源免费,具有良好的移植性,支持多种操作系统和开发语言。提供命令行和图形化界面工具,便于管理和维护。 4. **自增ID处理**:如果删除了ID为15、16、17的记录,然后重启MySQL并插入新...

    新版 MySQL DBA 高级视频 基于MySQL 5.7 MySQL 8.0版本.rar

    │ 5_MySQL表分区介绍和优势.mp4 │ 6_MySQL表分区类型.mp4 │ 7_MySQL字表分区和NULL值特殊处理.mp4 │ 8_MySQL表分区管理.mp4 │ 作业.docx │ 作业及答案.docx │ ├─新版MySQL DBA综合实战班 第09天 │ 1_课堂...

    nbu&mysql备份恢复.docx

    NBU备份mysql的优势 使用NBU备份mysql数据库可以提供多种优势,例如: * 高效的备份和恢复:NBU可以快速地备份和恢复mysql数据库,无需停机或中断数据库的正常运作。 * 完整的数据保护:NBU可以保护mysql数据库中...

    MySQL8.4.0 LTS(mysql-8.4.0.zip)

    MySQL 8.4.0 LTS 是 MySQL 社区服务器的一个长期支持版本,为开发者和企业提供了稳定、可靠的数据库服务。...通过深入理解这些知识点,你可以充分利用 MySQL 8.4.0 的优势,构建高性能、高可用性的数据库解决方案。

    MYSQL文档完美中文版

    MaxDB的特性:概述MaxDB独特的功能和优势。 2.4. 许可和支持:提供获取MaxDB支持和许可的信息。 2.5. MaxDB和MySQL之间的特性差异:比较MaxDB和MySQL的不同之处。 2.6. MaxDB和MySQL之间的协同性:描述MaxDB和...

    mysql8和mysql5的连接驱动jar包

    MySQL是世界上最受欢迎的开源关系型数据库管理系统之一,其在各个版本间不断进行更新与优化以满足不断变化的用户需求。...开发者在升级数据库版本时,也需要注意相应的驱动更新和代码调整,以充分利用新版本的优势。

    MySQL ODBC 5.1 Driver(Mysql驱动免安装版)

    3. **免安装版的优势**: - **便携性**:用户可以在任何支持ODBC的计算机上复制并运行,无需担心系统环境的影响。 - **快速部署**:不需要执行安装程序,只需解压缩到指定目录,设置ODBC数据源即可使用。 - **...

    2021年MySQL高级教程视频.rar

    05.MySQL高级索引优势和劣势.avi 06.MySQL高级索引数据结构.avi 07.MySQL高级索引数据结构BTREE.avi 08.MySQL高级索引数据结构B+TREE.avi 09.MySQL高级索引索引分类.avi 10.MySQL高级索引索引语法.avi 11.MySQL高级...

    MySql 8.0,免费安装包下载

    MySQL 8.0是世界上最流行的开源关系...通过免费安装包,用户可以轻松地将MySQL集成到自己的开发环境中,享受开源数据库带来的优势。在安装和使用过程中,熟悉其新特性和最佳实践,将有助于提升数据库管理的效率和质量。

    mysql 5.7 官方文档

    此外,MySQL还支持多种存储引擎,如InnoDB、MyISAM、Memory、CSV等,每种引擎都有其特定的优势和用途。 在MySQL 5.7版本中,引入了一些新的特性,包括对性能和可用性的改进、新增的SQL语法和函数,以及增强的安全性...

    MySql.Data.Entity.6.10.9 + MySql.Data.6.10.9

    在实际开发中,安装这两个NuGet包(MySQL.Data.Entity和MySQL.Data)后,开发者可以享受到以下几点优势: 1. **简化数据库操作**:通过EF的Linq-to-Entities,开发者可以使用C#或VB.NET的查询语法来操作数据库,...

    mysql-8.3.0-linux-glibc2.28-x86-64.tar.xz源代码安装包官网下载源 mysql8.X源代码

    “MySQL 8.X - 数据驱动的未来”:突出 MySQL 8.X 版本在支持大数据和数据分析方面的优势。 “MySQL 8.X - 开发者的福音”:强调 MySQL 8.X 版本对开发者友好,易于使用和维护。 “MySQL 8.X - 数据库界的革新者”:...

    mysql高级视频教程百度云(2019).txt

    15.MySQL高级_索引优势劣势.avi 14.MySQL高级_索引是什么.avi 13.MySQL高级_七种JOIN的SQL编写.avi 12.MySQL高级_七种JOIN理论.avi 11.MySQL高级_SQL执行加载顺序.avi 10.MySQL高级_SQL性能下降原因.avi ...

    MySQL_5.1_zh.rar_MYSQL_MySQL_5.1_zh_mysql 中文

    MyISAM 引擎则在读取速度上有优势,但不支持事务。 2. **分区功能增强**:在 MySQL 5.1 中,用户可以对大表进行分区,以提高查询性能。分区可以基于哈希、范围、列表或线性哈希等多种方式。 3. **复制功能优化**:...

Global site tag (gtag.js) - Google Analytics