易截截图软件、单文件、免安装、纯绿色、仅160KB

mysql 存储引擎

这段时间在看《High Performance MySQL》,看到存储引擎这个地方感到很多细节比较陌生,所以总结小记一些
为了适应各种不同的运行环境,MYSQL提供了多种不同的存储引擎(Storage Engine
),在应用程序开发这个层面上,开发者可以根据不同的需求选择适合的Storage Engine
方案,更为灵活的是,你可以根据每张表将要存储数据的特点,选择不同的Storage
Engine,也就是说,在一个MYSQL数据库中,可以混合使用多种不同的Storage Engine
首先小瞥一下MySQL的体系结构,在最高抽象层度下,可以用Garlan & Shaw的分层结构体系来表示(左)
其中应用层为所有RDBMS用户提供用户接口,逻辑层包括了所有核心功能的实现,物理层则负责将数据存储在硬件设备上。
图中右侧更为具体的描述了逻辑层的组成,查询处理子系统、事务管理子系统、恢复管理子系统和存储管理子系统共同组成了MySQL的逻辑层。相信
Storage Engine的位置是在Storage Management处,既Storage Engine属于Storage
Management子系统的一部分
为了让思路更清晰一些,下面给出一幅比较全面的体系结构图(或更确切的说是流程图,只是忽略了反馈)
上面三幅图来自于一篇非官方(不保证百分百的正确)的MySQL体系结构的报告,与《High Performance
MySQL》一书中给出的MySQL大体结构(下图,基本对应于Logic Layer,从第一幅图右侧可以看出MySQL logic
layer同样遵从分层体系结构)还是比较吻合的。
连接上图中第二层和第三层之间的接口是并不针对任何存储引擎的单一API,.大概由20个基本的类似“启动事务,返回结果集”等函数组成。存储引擎并不处理SQL,相互之间也不通信,它们的任务只是简单的响应高层传来的请求。
存储引擎各自的一些特点
上面提到的四种存储引擎都有各自适用的环境,这取决于它们独有的一些特征。主要体现在性能、事务、并发控制、参照完整性、缓存、 故障恢复,备份及回存等几个方面
目前比较普及的存储引擎是MyISAM和InnoDB.而MyISAM又是绝大部分Web应用的首选。MyISAM与InnoDB的主要的不同点在于性能和事务控制上。
MyISAM是早期ISAM(Indexed Sequential Access
Method,我现在用的MySQL5.0已经不支持ISAM了)的扩展实现,ISAM被设计为适合处理读频率远大于写频率这样一种情况,因此ISAM以
及后来的MyISAM都没有考虑对事物的支持,排除了TPM,不需要事务记录,ISAM的查询效率相当可观,而且内存占用很少。MyISAM在继承了这类
优点的同时,与时俱


相关文档:

mysql数据库的导出导入

问题:一开始我用Navicat Lite for mysql 将数据库转存储位sql文件。打开之后发现,中文都变成了乱码。
所以 在网上搜索了些资料看看。发觉大家都是用命令导出的。用了之后,中文就不乱码了。解决了我的一个难题。特此记下。
方法:
首先确认 mysql服务是开启的。
然后点“开始”运行输入cmd,进入DOS环境。cd ......

mysql重装问题解决方案

mysqlfront连接时出现“程序注册时间到期了,程序将被限制在淡模式下运行”这个问题时,不用重装,只需在Mysql Front 的帮助菜单项的登记里输入以下Mysql Front的注册码即可。
MysqlFront注册码如下:
0hjwKUddagvS41S9TIb8EwuiXwo4+dlr
t8z9sq/YRlP9e0zTx7jVlriD8bWlwoJM
TRlllybJ0+wce5rRZGaMBnWJH5H0/Pwv ......

其他数据库模拟实现mysql的limit语法

假如我有个user表,我想查询符合某些条件的第50个用户开始的10个用户,且不能使用id号between and那样查询,应该怎么写SQL语句?
  在mysql数据库中有limit,offset语句可以方便的实现,那么在SQL server中呢?SQL Server是否支持limit和offset语句呢?
select top 10 * from
(select top 60 * from [user] order by userid) a ......

Excel数据使用jdbc直接插入Mysql数据库

import java.io.File;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import jxl.*;
public class ImportExcel {
public static void main(String[] args) {
File importExcel = new File("D:\\test\\test.xls");
try {
// 数据库连接
Class.forNa ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号