zoukankan      html  css  js  c++  java
  • 常用引擎+存储过程

    一、常用引擎

    1.MyIsam

    不支持事务,高性能,查询速度快,不支持外键,支持全文索引,允许没有主键,内置一个计数器,count(*)可以直接返回行数,不用遍历,MySQL默认存储引擎。

    采用表级锁,开销小,加锁快,不会出现死锁,锁定粒度最大,发生锁冲突的概率最高,并发度最低。

    采用非聚簇索引。

    插入17个数据,删除15,16,17时,重启插入数据,ID是18.

    2.Innodb

    适用于更新密集型,支持事务,自动灾难恢复,支持外键,支持全文索引,必须有主键,count(*)需要遍历计数。

    支持行级锁(默认)和表级锁,开销大,加锁慢,会出现死锁,锁定粒度最小,发生锁冲突的概率最小,并发度最高。

    采用聚簇索引。

    插入17个数据,删除15,16,17时,重启插入数据,ID是15.

    3.Memory

    出发点是速度,采用的逻辑存储介质是内存。

    4.Merge

    一组MyIsam表的组合

    二、存储过程

    存储过程:是一些编译好了的sql语句,这些sql语句像一个方法一样实现一些功能(对单表或多表的增删改查),然后再给这个代码块取一个名字,在用到这个功能的时候调用即可。

    优点:

    1.因为SQL已经预编译了,所以运行速度较快。

    2.在服务器端运行,减少客户端压力。

    3.允许模块化程序设计,即只需要创建一次过程,之后在程序中就可以调用该过程任意次。

    4.减少网络流量,客户端调用存储过程只需要传递存储过程名和相关参数即可,与传输SQL语句的数据量少很多。

    5.增强使用的安全性,对存储过程进行权限限制,避免非授权用户对数据的访问。

    缺点:

    调式麻烦,可移植性不灵活(依赖于具体的数据库)。

  • 相关阅读:
    析构函数可以内联吗(可以,但不建议)
    auto_ptr
    Oracle Enterprise Linux 6.0配置本地yum
    标准C++输入输出和字符串类学习小程序集锦
    [转载]解决mysql“Access denied for user 'root'@'localhost'”
    [Linux网络编程学习笔记]套接字地址结构
    javascript基础
    java学习笔记14动态代理
    2013面试总结_01
    jquery实现复选框checkbox全选(完善)
  • 原文地址:https://www.cnblogs.com/cing/p/8651836.html
Copyright © 2011-2022 走看看