`

MySQL之基础知识

阅读更多

 

  前言:大学里的第一个项目,也是人生的第一个项目,很难,也明白了在大学里老师基本啥都不会教你~~~但是为了自己的将来,奋勇向前!

  说明:这个系列的所有文章都是参考《MySQL 5 权威指南》(第3版)再加上我自已在做这个项目时的感受写得,由于还是菜鸟级别,老鸟就可以直接绕过了 呵呵

 MySQL我之前也接触过,但是觉得还是有必要细致的整理一番,顺便以后也可以回头来看看。

 

-------------------------------------------------------神奇分割线---------------------------------------------------------------

 

MySQL数据表类型

 

  不同于其他数据库系统,MySQL支持多种不同的数据表类型,主要有MyISAM,InnoDB,HEAP等3种,他们各自有各自的特点。注意:如果在创建数据表时没有设置其类型,则MySQL服务器会根据具体情况在MyISAM和InnoDB之间做出选择,默认呢的数据表类型由配置文件里的default-table-type选项决定。

  • MyISAM数据表
    MyISAM数据表的特点是成熟,稳定,易于管理。他还细分为MyISAM Static 和 MyISAM Dynamic和 MyISAM Compressed (数据库系统自动选择)
  • MyISAM Static:
      如果数据库表里的数据列各自都有预先定义好的固定长度,MySQL服务器将自动选择这种数据表类型。
  • MyISAM Dynamic:
      如果数据表里定义有且只有一个VACHAR,xxxTEXT或xxxBLOG字段,MySQL将自动选择这种数据表类型。和静态表相比,这种类型的数据表的空间往往小得多:存储字符串和二进制对象所需要的字节数仅仅是他们的实际长度(再加上几个字节的开销)

      这种类型的数据表会因为记录的不同长度,而在数据库文件里留下“空洞”(这个道理和硬盘碎片差不多)。当被编辑的数据表变得越来越碎片化时,数据的存取时间会变得越来越长,因此要经常使用SQL命令 OPTIMIZE TABLE 或者某个优化工具进行碎片整理。
  • MyISAM Compressed:
      动态和静态MyISAM数据表都可以使用myiasmchk工具压缩。压缩效果很好(一般压到一半左右),但是读取数据时必须先解压。在低速硬盘+高速CPU的系统上,这种数据表类型可能也表现出比较优秀的性能。
  • InnoDB数据表
    InnoDB数据表是较新的一代表类型。
    *事务
      InnoDB支持事务。允许把几条有着内在逻辑关系的SQL命令当做一个整体来执行。如果在执行过程中发生了错误,所有的命令都将被撤销。

    *数据行级锁定机制
      MyISAM在执行LOCK TABLE命令会锁定整个表,而InnoDB只会锁定正在使用的行,并且InnoDB驱动程序能够自动识别“死锁现象”

    *外键约束条件
      如果在数据表之间定义了关系,InnoDB驱动程序将自动保证数据表的引用一致性在执行过DELETE命令之后也能保持。

    *崩溃恢复
  • HEAP数据表
    HEAP数据表比较特殊,他只将表存储在内存中,因为根本不用到,就不提了。

当然除了以上几种之外MySQL还提供了很多种表类型,但一般来说用得最多的就是MyISAM和InnoDB了,对于其他的就以后再说吧

 

-------------------------------------------神奇分割线----------------------------------------

个人感受:
MySQL支持不同表类型在同一个数据库里,这个很好啊,相对来说MyISAM更加节约空间和时间,而InnoDB最大的特点莫过于支持事务功能,安全性更高,并且他支持一些较新较高级的功能。

 

由于我这个项目对于数据库的操作比较频繁,并且很多情况下是同时的(MyISAM只支持LOCK TABLE)这样InnoDB就是首选了。

 

而且我在设计时用了开发工具,虽然不是很熟悉,但是软件会自动选择较为合适的数据表类型。

1
1
分享到:
评论
1 楼 poplar1986 2009-03-05  
而且我在设计时用了开发工具,虽然不是很熟悉,但是软件会自动选择较为合适的数据表类型。

这个不是很明白哦

你用了什么软件啊?

相关推荐

    MySQL 基础知识的总结

    本文将深入探讨MySQL的基础知识,包括安装、数据类型、表的创建、查询语句、索引以及事务处理等核心概念。 1. **安装与配置** MySQL的安装过程通常包括下载适合操作系统的安装包,按照向导进行安装,然后配置...

    mysql基础知识和mysql优化整理

    一、MySQL基础知识 1. 数据库与表:MySQL中的数据库是一个逻辑存储单元,用于组织相关数据。表是数据库中的基本元素,由列和行构成,用来存储具体的数据。 2. 数据类型:MySQL支持多种数据类型,如整数类型...

    MySQL入门基础知识总结

    以下是对MySQL入门基础知识的详细总结: 一、MySQL安装与配置 1. 安装:在Windows、Linux或Mac OS上,可以通过官方网站下载相应平台的安装包,按照向导进行安装。 2. 配置:安装完成后,需要配置MySQL服务器,包括...

    mysql基础知识小结

    mysql参考手册重点章节:5 6 7 8 10 11 13 14 15 ## mysql启动方法: ## mysql关闭方法: ## mysql登陆方法:(单、多实例,本地、远程登录) ## 修改mysql提示符 ## 修改密码 ## root密码丢失找回 ## SQL结构化...

    MYSQL基础知识-学习笔记

    这份"MYSQL基础知识-学习笔记"涵盖了对MySQL的初步介绍以及基础概念,是初学者入门的理想资源。 首先,我们从MySQL的简介开始。MySQL是由瑞典的MySQL AB公司开发的,后被甲骨文公司收购。它是一款开源、免费的...

    mysql数据库基础知识点总结

    ### MySQL数据库基础知识点总结 #### 数据库概念理解 数据库是一种按照特定格式存储数据的仓库,其目的是为了方便数据的存取操作。在IT领域中,数据库是存储与管理大量数据的关键工具之一,它能有效组织数据,使得...

    Mysql必备基础知识

    MySQL基础知识入门必备,对于刚刚开始学习MySQL数据库的新手很友好。

    数据库MySQL基础知识点1

    【数据库概念及作用】 数据库是一个组织和存储数据的系统,它由一组按照特定规则组织的特殊格式文件组成。数据库的主要作用是提供高效、安全的数据存储和访问,确保数据...这些知识对于理解和使用MySQL数据库至关重要。

    MySQL基础知识总结.pdf

    以上是对MySQL基础知识的总结,涵盖了数据库管理系统的各个方面,从基础的数据类型到复杂的查询语句和事务处理,再到数据库的日常管理和性能优化。掌握这些知识对于在IT行业中进行数据库开发和管理是必不可少的。

    mysql基础知识培训

    MySQL 基础知识培训涵盖了从数据库的基本概念到实际安装和管理操作的多个方面。MySQL 是一款广泛应用的关系型数据库管理系统,特别适合于中小型企业及个人网站的开发,因其开源、免费且性能优秀的特点,常与 PHP、...

    mysql的基础知识到高级知识脑图

    很好的一个mysql知识总结,把mysql中的基础知识和一些程序员必知的一些高级知识都带了出来,是一个很好的mysql学习指南

    MySQL数据库基础知识

    MySQL数据库基础知识总结及简单用法

    MySQL讲解基础知识.ppt

    MySQL讲解基础知识 本资源摘要信息涵盖了MySQL的基础知识,包括数据库设计、关系模型、E-R图设计、实体、属性、关系、数据库管理系统、MySQL的安装、配置、SQL语句实现增删改查、MySQL的应用等。 一、数据库设计 ...

    MySQL的基础知识笔记

    ### MySQL的基础知识笔记 #### 一、背景介绍 MySQL 是一款非常流行的开源关系型数据库管理系统。自1979年创建以来,它已经成为全球最广泛使用的数据库之一。MySQL 的应用场景非常广泛,包括但不限于: - **网站...

    数据库Mysql基础知识总结

    **数据库MySQL基础知识总结** 在IT领域,MySQL是一个广泛使用的开源关系型数据库管理系统,以其高效、稳定和易用性而备受青睐。以下是对MySQL基础知识的详细总结: ### 1. MySQL基本概念 - **数据库(Database)*...

    超详细mysql基础知识思维导图

    超详细mysql基础知识思维导图

    Mysql数据库基础知识

    MySQL数据库是目前广泛应用的关系型数据库管理系统,其基础知识涵盖了多个方面,包括数据库的基本概念、MySQL的安装与使用、SQL语言的各个部分以及高级特性。对于数据库管理员、开发人员、数据分析师和学习者来说,...

    MySQL基础知识复习

    MySQL基础知识复习

    mysql基础知识扫盲

    本文将介绍MySQL的基础知识,包括连接MySQL服务器、SQL语句、查询、聚合操作、表连接、子查询以及联合查询。 首先,连接MySQL服务器是使用MySQL的第一步。通过CMD命令行,切换到MySQL Server的bin目录,输入`mysql ...

Global site tag (gtag.js) - Google Analytics