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.增强使用的安全性,对存储过程进行权限限制,避免非授权用户对数据的访问。

    缺点:

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

  • 相关阅读:
    白鸦:互联网就是社区,液态的社区
    「芭比娃娃.com」
    做几个经营「人」的小网站,速速卖给大公司?
    关于工作与生活来自前hp总裁孙振耀
    新网站上线,酷狗狗 www.coogogo.com
    中国地摊联盟群组
    discuz!nt论坛搬迁后出错,提示:对象名 'dnt_templates' 无效
    时光.旅人
    const和readonly
    html.partial的一个bug?
  • 原文地址:https://www.cnblogs.com/cing/p/8651836.html
Copyright © 2011-2022 走看看