• 如何选择数据库存储引擎


    常见的数据库存储引擎有:ISAM、MYISAM InnoDB
     
    根据每个不同的存储引擎提供的不同的核心功能、以及不同的应用场景等;一般把核心功能分为4类:支持的字段和数据类型、锁定类型、索引、以及事务处理;
    1:支持的字段和数据类型:
    虽然所有的引擎都支持通用的数据类型(如:整型、字符串等)、但是、并不是所有的引擎都支持其它的字段类型(如:二进制、TEXT文本类型);
    2:锁定类型:
    锁定机制主要是为了防止多个处理同时更新同一个数据。不同的存储引擎支持不同级别的锁:表锁定、页锁、行锁等;
    3:表锁:
    开销小、加锁快、不会出现死锁。锁定力度大、发生锁冲突的概率比较高、并发度最低。支持最多的就是表锁定,MYISAM 和 MEMORY 支持表锁。MySQL的表锁有两种模式、表共享读锁和表共享写锁。对于 MYISAM 表的读操作、不会阻塞其它用户对同一表读的请求、但是会阻塞对同一表的写请求;对 MyISAM 表的写操作、则会阻塞其它用户对同一表的读和写操作;
    4:行锁:
    开销大、加锁慢、会出现死锁;锁力度最小、发生锁冲突的概率最低、并发也是最高的。InnoDB 表进是行锁定;
    5:索引:
    建立索引在搜索和恢复数据库中的数据的时候、能够显著提高性能;不同的存储引擎提供不同的制作索引对技术、有的搜索引擎不支持索引;
    6:事务处理:
    事务处理有助于提高向表中更新数据和插入数据期间的可靠性;
     
    ISAM:
    ISAM 是一个定义明确且历经时间考验的数据表格管理方法,它在设计之时就考虑到数 据库被查询的次数要远大于更新的次数。因此,ISAM 执行读取操作的速度很快,而且不占 用大量的内存和存储资源。ISAM 的两个主要不足之处在于,它不支持事务处理,也不能够 容错:如果你的硬盘崩溃了,那么数据文件就无法恢复了。
     
    MyISAM:
    MyISAM 管理非事务表、是ISAM 的扩展格式。除了提供ISAM里所没有的索引的字段管理等的大量功能、MyISAM 还使用一种表格锁定的机制、来优化多个并发的读写操作。MyISAM 提供高速存储和检索、以及全文搜索能力;在MYSQL5.5.5版本及以下的所有MYSQL配置里被支持。也是默认的存储引擎。
     
    InnoDB:
    InnoDB 引擎是MySQL数据库的另一个重要的存储引擎、被包含在所有的二进制安装包里面、和其它的存储引擎相比、InnoDB引擎的优点是支持兼容ACID的事物、以及参数完整性(有外键)等。MySQL5.5.5以后默认的存储引擎都是InnoDB引擎;

  • 相关阅读:
    常见图片格式PNG,JPEG,BMP,GIF区别总结
    sql在所有存储过程中查询包含某字符串的执行语句
    数字取整或保留小数四舍五入的正确写法
    SVG路径path的贝塞尔曲线指令
    查询总耗CPU最多与平均耗CPU最多的SQL语句
    MIME 参考手册
    SQL语句复制父子级表数据
    去掉数字格式结尾多余的零,补充数字格式结尾需要的零
    设置微信分享的标题 缩略图 连接 描述
    linux环境下php开启redis扩展(centos6.8)
  • 原文地址:https://www.cnblogs.com/laowenBlog/p/8405602.html
Copyright © 2020-2023  润新知