MySQL数据库(11)

来源:互联网 发布:大数据营销案例沃尔玛 编辑:程序博客网 时间:2024/05/21 22:30

使用事务保证数据完整性

1.MySQL的事务处理:

   事务就是将一组SQL语句放在同一批次内执行

   如果一个SQL语句出错,则该批次内的所有SQL都将被取消执行

   注:MySQL事务处理只支持InnoDB和BDB数据表类型

2.事务的ACID原则

   原子性、一致性、隔离性、持久性

3.MySQL的事务实现方法:

    set autocommit

    eg:set autocommit=0;  #关闭自动提交模式

           set autocommit=1;  #开启自动提交模式

  注意:MySQL中默认是自动提交

            使用事务时应先关闭自动提交

   i.start transaction :开始一个事务,标记事务的起始点

   ii.commit :提交一个事务给数据库

   iii.rollback :将事务滚回,数据回到本次事务的初始状态

   iv.set autocommit :还原MySQL数据库的自动提交

创建和使用索引

1.数据库索引

  作用:提高查询速度

             确保数据的唯一性

             可以加速表和表之间的连接,实现表与表之间的参照完整性

             使用分组和排序子句进行数据检索时,可以显著减少分组和排序的时间

             全文检索字段进行搜索优化

  分类:主键索引(primary key)

             唯一索引(unique)

             常规索引(index)

             全文索引(fulltext)

2.主键索引

  主键:某一个属性组能唯一标识一条记录

  特点:最常见的索引类型

             确保数据记录的唯一性

3.唯一索引

  作用:避免同一个表中某数据列中的值重复

  与主键索引的区别:主键索引只能有一个

                                  唯一索引可有多个

4.常规索引

  作用:快速定位特定数据

  注意:index和key关键字都可设置常规索引

             应加在查找条件的字段

             不宜添加太多常规索引,影响数据的插入、删除和修改操作

5.全文索引

  作用:快速定位特定数据

  注意:只能用于MyISAM类型的数据表

             只能用于char、varchar、text数据列类型

              适合大型数据集

6.管理索引

  创建索引:创建表时添加

                    建表后追加:alter table 表名 add 索引类型(数据列名)

  删除索引:drop index 索引名 on 表名

                    alter table 表名 drop index 索引名

                    alter table 表名 drop primary key

  查看索引:show index(或keys)from 表名

7.索引准则

    索引不是越多越好

    不要对经常变动的数据加索引

    小数据量的表建议不要加索引

    索引一般加在查找条件的字段




0 0
原创粉丝点击