myisam innoDB是mysql经常使用的存储引擎

MyISAM不支持事务、也不支持外键。但其訪问速度快。对事务完整性没有要求。

InnoDB存储引擎提供了具有提交、回滚和崩溃恢复能力的事务安全。

可是比起MyISAM存储引擎,InnoDB写的处理效率差一些而且会占用很多其它的磁盘空间以保留数据和索引。

innodb的索引有两种。叫第一索引,以及第二索引。

有的也叫聚集索引与辅助索引。

当中聚集索引存放了表中的记录。查询的时候不须要回表扫描。同一时候索引项较大;辅助索引存放的位置信息,须要回表扫描,相对来说。I/0 次数会添加。

查询的时候最好可以从索引中取得数据。降低回表,相对来说离散的 I/0,

MYISAM 没有聚集索引。存放的记录的物理位置

OLTP (联机事务处理)故名思议主要强调事务,如(银行存款的改动,用户订单等)面向应用

OLAP (联机分析处理) 主要作为数据仓库。面向决策。分析等。

联接算法:

nested-loops join 主要思想是:从外表中拿出一个数据与内表的每一条数据比較,O(M*N) 。

当有索引时:内表仅仅须要比較索引的高度,近似于O(M*H)

Block nested--loops join 主要思想 是:改进 nested-loops join 外部表每次去一定的数据到缓冲区。比方10条,然后这10条记录在跟内部表的数据比較,降低内部表的扫描次数。

Hash join 仅仅能== 以及!=。不能部分比較(为何?,hash是对整个字符串hash) 主要思想是:将外部表的数据放到join buffer,然后hash,这一阶段

为build;probe阶段,从内表中取出数据hash,比較。

主要的測试:

create TABLE myorder

( id int not null auto_increment,

   userid int not null ,

  orderdate date,

comein int DEFAULT 0,

comeout int DEFAULT 0,

PRIMARY key (id)

);



INSERT into myorder VALUES("","11123940","2014-05-10","","50");

SELECT userid ,orderdate ,comein -comeout as rest 

from myorder

GROUP BY userid ,orderdate;

create index myorderindex on myorder(id,userid);

explain SELECT userid ,orderdate ,comein -comeout as rest 

from myorder

GROUP BY userid ,orderdate;

mysql手记的更多相关文章

  1. 【Lamp】 Linux 下安装PHP+Apache+Mysql 手记

    [0]写在最前 由于准备实习原因,今天又重温了Lamp的搭建过程,之前一直是看燕十八老师2012年的教程学习,因此今天也是拿了十八哥的lamp搭建笔记作参考.但这次按照笔记重新搭建,发现了很多问题,由 ...

  2. linux下安装mysql手记

    安装mysql 下载mysql-standard-4.1.8-pc-linux-i686.tar.gz文件到目录/usr/local/下 # groupadd mysql   //添加mysql用户组 ...

  3. linux操作mysql命令快速手记 — 让手指跟上思考的速度(二)

    这一篇是<mysql内建命令快速手记>的姐妹篇,废话不再赘述,直接上干货,跟老铁慢慢品 1.mysql -hlocalhost -uroot -proot,-h,-u,-p分别代表ip,u ...

  4. Mysql 数据库单机多实例部署手记

        最近的研发机器需要部署多个环境,包括数据库.为了管理方便考虑将mysql数据库进行隔离,即采用单机多实例部署的方式.找了会资料发现用的人也不是太多,一般的生产环境为了充分发挥机器性能都是单机单 ...

  5. MySQL命令使用手记

    1.登陆          >mysql -u root -p,root没密码按回车. 2.创建数据库  >create database XXX; 3.创建用户     >inse ...

  6. mysql数据库还原出错ERROR:Unknown command ‘\\’解决手记

    使用mysql命令行客户端,使用source导入备份文件,但导入中出错, ERROR: Unknown command ‘\\’. ERROR: Unknown command ‘\”. ERROR: ...

  7. 《PHP, MySQL, Javascript和CSS》读书随手记----MySQL篇

    一 基础 要求结尾分号 如果在命令输入期间想要终止其运行,不要Ctrl-C. 要输入\c,并按回车键. sql命令和关键字不区分大小写. 表名在windows中不区分大小写,但是在linux和os x ...

  8. MySQL随手记

    一.MySQL数据迁移(由远端主机迁移到本地) 1.导出数据库mysqldump -u root -p db > dump_db_date.sqlroot: 账户db: 需要导出的数据库名 2. ...

  9. [转]mysql日常工作手记

    1. 给navy加show权限: 1 2 update mysql.user set Show_db_priv='Y'  where user='navy'; flush privileges; 2. ...

随机推荐

  1. 《3+1团队》【Alpha】Scrum meeting 1

    项目 内容 这个作业属于哪个课程 任课教师博客主页链接 这个作业的要求在哪里 作业链接地址 团队名称 3+1团队 团队博客地址 https://home.cnblogs.com/u/3-1group ...

  2. pytorch系列 -- 9 pytorch nn.init 中实现的初始化函数 uniform, normal, const, Xavier, He initialization

    本文内容:1. Xavier 初始化2. nn.init 中各种初始化函数3. He 初始化 torch.init https://pytorch.org/docs/stable/nn.html#to ...

  3. In line copy and paste to system clipboard

    On the Wiki Wiki Activity Random page Videos Photos Chat Community portal To do    Contribute  Watch ...

  4. Linux I2C驱动

    Linux I2C 驱动结构 i2c体系结构由三部分组成 i2C core i2c core提供了i2c 总线驱动 和 设备驱动的注册,注销方法 i2C and SMBus protocol 实现 i ...

  5. 一个关于vue+mysql+express的全栈项目(六)------ 聊天模型的设计

    一.数据模型的设计 这里我们先不讨论群聊的模型,指讨论两个人之间的聊天,我们可以把两个人实时聊天抽象为(点对点)的实时通讯,如下图 我们上面的所说的模型其实也就是数据包的模型应该怎么设计,换句话说就是 ...

  6. 杭电 2553 N皇后问题 (dfs)

    Description 在N*N的方格棋盘放置了N个皇后,使得它们不相互攻击(即任意2个皇后不允许处在同一排,同一列,也不允许处在与棋盘边框成45角的斜线上. 你的任务是,对于给定的N,求出有多少种合 ...

  7. Ducci Sequence解题报告

    A Ducci sequence is a sequence of n-tuples of integers. Given an n-tuple of integers (a1, a2, ... ,  ...

  8. ServletContext作用功能详解

    ServletContext,是一个全局的储存信息的空间,服务器开始,其就存在,服务器关闭,其才释放.request,一个用户可有多个:session,一个用户一个:而servletContext,所 ...

  9. PS学习笔记(04)

    Photoshop滤镜的安装 Photoshop滤镜的默认格式为.8bf(也有些滤镜为exe格式的可执行文件),如果你下载的是压缩包,请解压之后再安装. 方法一: 如果你下载的滤镜为exe的可执行文件 ...

  10. Python编译错误总结

    1.TypeError: object() takes no parameters 如果你出现了这个报错,请检查你的__init__函数名或者其定义有没有写错.一般是把__init__写成了__int ...