MYSQL搜索引擎


一般来说,MySQL有以下几种引擎:ISAM、MyISAM、HEAP、InnoDB和Berkley(BDB)。

ISAM
  ISAM是一个定义明确且历经时间考验的数据表格管理方法,它在设计之时就考虑到数据库被查询的次数要远大于更新的次数。因此,ISAM执行读取操作的速度很快,而且不占用大量的内存和存储资源。ISAM的两个主要不足之处在于,它不支持事务处理,也不能够容错:如果你的硬盘崩溃了,那么数据文件就无法恢复了。如果你正在把ISAM用在关键任务应用程序里,那就必须经常备份你所有的实时数据,通过其复制特性,MySQL能够支持这样的备份应用程序。
MyISAM
  MyISAM是MySQL的ISAM扩展格式和缺省的数据库引擎。除了提供ISAM里所没有的索引和字段管理的大量功能,MyISAM还使用一种表格锁定的机制,来优化多个并发的读写操作。其代价是你需要经常运行OPTIMIZE TABLE命令,来恢复被更新机制所浪费的空间。MyISAM还有一些有用的扩展,例如用来修复数据库文件的MyISAMChk工具和用来恢复浪费空间的 MyISAMPack工具。
  MyISAM强调了快速读取操作,这可能就是为什么MySQL受到了Web开发如此青睐的主要原因:在Web开发中你所进行的大量数据操作都是读取操作。所以,大多数虚拟主机提供商和Internet平台提供商(Internet Presence Provider,IPP)只允许使用MyISAM格式。
HEAP
  HEAP允许只驻留在内存里的临时表格。驻留在内存里让HEAP要比ISAM和MyISAM 都快,但是它所管理的数据是不稳定的,而且如果在关机之前没有进行保存,那么所有的数据都会丢失。在数据行被删除的时候,HEAP也不会浪费大量的空间。 HEAP表格在你需要使用SELECT表达式来选择和操控数据的时候非常有用。要记住,在用完表格之后就删除表格。让我再重复一遍:在你用完表格之后,不要忘记删除表格。
InnoDB和Berkley DB
  InnoDB和Berkley DB(BDB)数据库引擎都是造就MySQL灵活性的技术的直接产品,这项技术就是MySQL++ API。在使用MySQL的时候,你所面对的每一个挑战几乎都源于ISAM和MyISAM数据库引擎不支持事务处理也不支持外来键。尽管要比ISAM和 MyISAM引擎慢很多,但是InnoDB和BDB包括了对事务处理和外来键的支持,这两点都是前两个引擎所没有的。如前所述,如果你的设计需要这些特性中的一者或者两者,那你就要被迫使用后两个引擎中的一个了。
 

MYISAM和InnoDB的区别

MyISAM提供索引和字段管理功能,MyISAM使用一种表格锁定的机制,来优化多个并发的读写操作。其代价是你需要经常运行OPTIMIZE TABLE命令,来恢复被更新机制所浪费的空间。MyISAM数据库引擎不支持事务处理也不支持外来键.

InnoDB和Berkley DB(BDB)使用技术是MYSQL+API,InnoDB和BDB包括了对事务处理和外来键的支持

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL有两种主要的搜索引擎,分别是MyISAM和InnoDB。MyISAM是MySQL的默认引擎,它适用于读取频繁的应用场景,例如数据仓库和报表生成。MyISAM的优点是速度快,但不支持事务和行级锁定。另一方面,InnoDB是一种支持事务和行级锁定的引擎,适用于需要高并发和数据完整性的应用场景,例如电子商务和在线交易系统。InnoDB的优点是支持事务处理和外键约束,但相对于MyISAM,它的读取速度稍慢一些。因此,在选择MySQL搜索引擎时,需要根据具体的应用需求来进行选择。\[1\] 在MySQL中,主索引是用PRIMARY关键字进行标识的,一般是数据表的主键字段。如果在InnoDB引擎中删除了数据表的主索引,那么数据表将自动选择一个非空且带有唯一约束的字段作为主索引。如果没有找到符合条件的字段,InnoDB引擎将使用一个隐含字段作为主索引(ROWID)。此外,MySQL还支持非主索引,也称为辅助索引或二级索引,用于加快查询速度。\[2\] 对于MyISAM引擎,可以使用myisampack命令进行手动压缩。该命令可以将MyISAM表的索引文件进行压缩,从而减小磁盘占用空间。例如,可以使用以下命令将一个MyISAM表的索引文件从57K压缩到16K:myisampack E:\5-mysqls\mysql_1\mysql-5.6.26-winx64\data\test\test.MYI。\[3\] #### 引用[.reference_title] - *1* *3* [Mysql搜索引擎及索引的选择](https://blog.csdn.net/weixin_37481769/article/details/84789596)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [mysql-Innodb解析](https://blog.csdn.net/gejiangbo222/article/details/127898431)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值