zoukankan      html  css  js  c++  java
  • 关于数据库

    1.什么是数据库

    数据库软件应称为DBMS(数据库管理系统),数据库是通过DBMS创建和操纵的容器,数据库可以是保存在硬件设备上的文件,但也可以不是,因为你并不直接访问数据库,你使用的是DBMS,他替你访问数据库。

    2.表

    表是某种特定特定类型数据的结构化清单。

    储存在表中的数据是一种类型的数据或者一个清单,绝不应该把顾客的清单与订单存储在同一个数据库表中,这样将会使以后的检索和访问很困难,应该创建两个表,每个清单一个表。

    最常使用的2 种存储引擎:
    1. Myisam是Mysql的默认存储引擎,当create创建新表时,未指定新表的存储引擎时,默
    认使用Myisam。
    每个MyISAM在磁盘上存储成三个文件。文件名都和表名相同,扩展名分别是.frm
    (存储表定义)、.MYD (MYData,存储数据)、.MYI (MYIndex,存储索引)。数据文件和
    索引文件可以放置在不同的目录,平均分布io,获得更快的速度。
    2. InnoDB 存储引擎提供了具有提交、回滚和崩溃恢复能力的事务安全。但是对比Myisam
    的存储引擎,InnoDB 写的处理效率差一些并且会占用更多的磁盘空间以保留数据和索
    引。

    下面是常用存储引擎的适用环境:
    1. MyISAM:
    默认的MySQL 插件式存储引擎,它是在Web、数据仓储和其他应用环境下最常
    使用的存储引擎之一
    锁机制表锁页锁表锁行锁行锁
    B 树索引支持支持支持支持
    哈希索引支持支持
    全文索引支持
    集群索引支持
    数据缓存支持支持
    索引缓存支持支持支持
    数据可压缩支持支持
    空间使用低低N/A 高非常低
    内存使用低低中等高低
    批量插入的速度高高高低非常高
    支持外键支持

    2. InnoDB:用于事务处理应用程序,具有众多特性,包括ACID 事务支持。


    3. Memory:将所有数据保存在RAM 中,在需要快速查找引用和其他类似数据的环境下,可
    提供极快的访问。


    4. Merge:允许MySQL DBA 或开发人员将一系列等同的MyISAM 表以逻辑方式组合在一起,
    并作为1 个对象引用它们。对于诸如数据仓储等VLDB 环境十分适合。

    选择数据类型的基本原则

    1. MyISAM 数据存储引擎和数据列
    MyISAM数据表,最好使用固定长度的数据列代替可变长度的数据列。
    2. MEMORY存储引擎和数据列
    MEMORY数据表目前都使用固定长度的数据行存储,因此无论使用CHAR或VARCHAR列都没
    有关系。两者都是作为CHAR类型处理的。
    3. InnoDB 存储引擎和数据列
    建议使用VARCHAR类型
    对于InnoDB数据表,内部的行存储格式没有区分固定长度和可变长度列(所有数据行
    都使用指向数据列值的头指针),因此在本质上,使用固定长度的CHAR列不一定比使
    用可变长度VARCHAR列简单。因而,主要的性能因素是数据行使用的存储总量。由于CHAR
    平均占用的空间多于VARCHAR,因此使用VARCHAR来最小化需要处理的数据行的存储总
    量和磁盘I/O是比较好的。

  • 相关阅读:
    一、介绍与基础操作命令
    ES配置详细说明
    通过命令名称查询进程id
    应用商店流程
    你对女人好并不会让她爱上你
    java 对list进行排序
    java web判断是否登录
    支付返回post请求数据
    不方便的事情,人们都不大会去做
    不方便的事情,人们都不大会去做
  • 原文地址:https://www.cnblogs.com/shangwne/p/3617557.html
Copyright © 2011-2022 走看看