zoukankan      html  css  js  c++  java
  • 事务,视图,索引,备份和恢复

    什么是索引:

      数据库中的索引与书籍中的目录类似,在一本书中,利用目录可以快速查找所需要的信息,无需阅读整本书.

    在数据库中,索引使数据库程序无须对整个表进行扫描,就可以在其中找到所需数据.书中的目录是一个词语列表,

    其中注明了包含各个词的页码,在数据库中,由于数据存储在数据表中,因此索引是创建在数据表对象上的,

    由表中的一个字段或多个字段生成的键组成,这些键存储在数据结构(B-树或哈希表)中,通过MySql可以快速有效地

    查找与键值相关联的字段,跟怒索引的存储类型,可以将索引分为B-树索引和哈希索引.

    为什么需要事务
    事务(transaction)是指将一系列数据操作捆绑成为一个整体进行统一管理,如果某一事务执行成功,

    则在该事务中进行的所有数据均会提交,成为数据库中永久的组成部分。

    如果事务执行遇到错误且必须取消或回滚,则数据将全部恢复到操作前的状态,所有数据的更改均被清除。

     索引的作用是通过使用索引,大大提高数据库的检索速度,改善数据库性能

    索引分类:

    MySql中,索引分为六类:

        1.普通索引

        普通索引时MySql中的基本索引类型,允许在定义索引的列中插入重复和空值,它的唯一任务是加快对数据的访问速度.

        2.唯一索引

        唯一索引不允许两行出现相同的索引值

        3.主键索引

        在数据库关系图中为定义一个主键将自动创建主键索引,主键索引是唯一的特殊类型

        4.复合索引

             在创建索引时,并不是只能对其中一列创建索引,与创建主键一样,可以将多个列组合作为索引,这种索引称为复合索引.

        5.全文索引

        全文索引的作用是在定义索引的列上支持值得全文查找,允许在这些索引列中插入重复值和空值.

        6.空间索引

                空间索引是对空间数据类型的列建立的索引.

    4.如何执行事务
    MySQL提供了多种存储引擎支持事务,支持事务的存储引擎有InnoDB和BDB。InnoDB存储引擎事务主要时通过UNDO日志和REDO日志,MyISAM存储引擎不支持事务。
    任何一种数据库,都有各种各样的日志,用来记录数据库的运行情况,日常操作,错误信息等。
    A) UNDO日志:复制事务执行前的数据,用于事务在发生异常时回滚数据。
    B) REDO日志:记录事务在执行中,每条对数据库进行更新的操作,当事务被提交时,该内容将被刷新到磁盘。

    索引的创建例子:

      1.IQUE 或 UNIQUE KEY (唯一索引)

       mysql> alter table table_name add unique (`column`)

      2ULLTEXT (全文索引)    

     mysql> alter table table_name add fulltext (`column` )    

      3INDEX (普通索引)       

       ysql> alter table table_name add index index_name ( `column` )

      修改表中的索引:

          alter table tablename drop primary key,add primary key(fileda,filedb)

      查看索引:

     show index from table_name;

     数据库的备份和还原

     使用musqldump命令备份数据库

        语法:

           mysqldump   -u   username   -h   host   -p *******

           dbname  [tbname1[tbname2......]]  >  filename.sql

      *username  表示用户名

      *host  表示登陆用户的主机名称,如本机为主机可省略

      *password  表示登陆密码

      *dbname  为需要备份的数据库

      *tbname  为需要备份的数据表,可指定多张表,为可选项,如备份整个数据库则此项省略

      *filename.sql  表示备份文件的名称.

        使用musqldump命令备份数据库:

          语法:

           mysql -u sername -p **** [dbname] <filename.sql

      *username  表示用户名

      *dbname  表示数据库名

      *filename.sql  为数据库备份后的文件

  • 相关阅读:
    MATLAB 制作gif动画
    MATLAB求解浸润角
    MATLAB 解代数方程组
    空间直线同任意形状椭球交点
    空间旋转——四元数表示
    坐标系旋转 & 坐标点旋转
    展开循环来加速计算
    空间直线同球体交点求解
    变量初始化问题
    python 实现多个线程间消息队列传递,一个简单的列子
  • 原文地址:https://www.cnblogs.com/864466244qq/p/8466250.html
Copyright © 2011-2022 走看看