Welcome 微信登录

首页 / 数据库 / MySQL

MySQL架构 - MySQL 存储引擎

MySQL架构 - MySQL 存储引擎

MySQL架构 - MySQL 存储引擎2011-10-01 iteye 译:风雪涟漪这部分简单介绍MySQL存储引擎,不会深入讲述的,因为本教程从始至终贯穿了MySQL存储引擎的相关 细节。本教程也不是完全的指导手册,详细的可以参考MySQL官方文档。MySQL也有论坛来专门讨论每个存 储引擎的。经常提供些额外的信息和有趣的方法来使用它们。MySQL都把数据库以子目录的形式存放在它安装目录的data目录下。当你新建一张表,MySQL就生成一 个和表名一样...
MySQL架构 - MySQL存储引擎 -InnoDB

MySQL架构 - MySQL存储引擎 -InnoDB

MySQL架构 - MySQL存储引擎 -InnoDB2011-10-01 iteye 译:风雪涟漪InnoDBInnoDB支持事物处理,它处理许多短期的事物,这些事物常常是成功执行而不是回滚的。InnoDB是 MySQL最受欢迎的存储引擎了。常见的非事物引擎需求,如性能和自动回复,它也完全具备。InnoDB在一些列的文件中存储数据,被称为表空间(tablespace)。表空间对于用户来说是黑盒, InnoDB内部负责处理。在MySQL4.1以及更新的版本...
MySQL架构 - MySQL存储引擎 -MyISAM

MySQL架构 - MySQL存储引擎 -MyISAM

MySQL架构 - MySQL存储引擎 -MyISAM2011-10-01 iteye 译:风雪涟漪MyISAMMyISAM是MySQL默认的存储引擎。MyISAM在性能和特性上提供了一个很好的折中的解决办法。特性有, 全文索引,压缩,GIS函数。MyISAM并不支持事物和行锁。存储MyISAM把表存储在两个文件中。一个数据文件,一个索引文件。扩展名为.MYD和.MYI。MyISAM的格式 是平台独立的。意思就是你可以把这两个文件拷贝在任意的平台上。MyI...
MySQL架构 - MySQL存储引擎 -表的转换

MySQL架构 - MySQL存储引擎 -表的转换

MySQL架构 - MySQL存储引擎 -表的转换2011-10-01 iteye 译:风雪涟漪表的转换有许多方法可以把表从一个引擎转换为另一个。每种多有优点和缺点。在这节中,将介绍 三种方法。ALTER TABLEALTER TABLE是最简单的转换引擎的方法。下列语句是把mytable表转换为Falcon引擎:mysql> ALTER TABLE mytable ENGINE = Falcon;这个语法适用于所有存储引擎,但是有点要注意:这种方式...
MySQL架构 - MySQL存储引擎 -实践的例子

MySQL架构 - MySQL存储引擎 -实践的例子

MySQL架构 - MySQL存储引擎 -实践的例子2011-10-01 iteye 译:风雪涟漪如果没有一些实际的例子,上节所说的选择存储引擎可能很空洞。来让我们看下一普通的应用程序。接下来我们会看到各种各样的表以及选择哪个引擎适合它们。下一节会做个存储引擎的总结。Logging(日志)假如你想用MySQL实时记录电话交换机中每个电话的通话记录。还有你在APACHE安装了mod_log_sql,可以把每次访问网站的记录直接写入到表中。像这种应用,速度是最...
MySQL架构 - MySQL存储引擎 - 其他存储引擎

MySQL架构 - MySQL存储引擎 - 其他存储引擎

MySQL架构 - MySQL存储引擎 - 其他存储引擎2011-10-01 iteye 译:风雪涟漪MEMORY (HEAP)引擎当你需要快速读取数据,在服务器重启后,也不需要改变和保存数据,使用 Memory表(以前叫做HEAP 表)是非常合适的。Memory表要比MyISAM表快上一个级别。所有的数据都放 在内存中,所以查询不用等待硬盘的I/O。在服务器重启后,表结构依然存在,但是数据都会丢失。下面说几个可以用到Memory表的情况。对于查找或映射表...
MySQL架构 - MySQL存储引擎 -选择合适的引擎

MySQL架构 - MySQL存储引擎 -选择合适的引擎

MySQL架构 - MySQL存储引擎 -选择合适的引擎2011-10-01 iteye 译:风雪涟漪选择合适的引擎当设计基于MySQL的应用程序时,要考虑用什么存储引擎来保存数据。如果在设计 阶段不考虑这个,你就会在以后的过程中遇到一些困难。你可能发现默认的存储引擎并没有提供一些你需 要的功能。如事务管理或者读写的混合需要比MyISAM表锁更好的隔离级别的锁。因为你可以为每个表都设置存储引擎。你必须清晰的知道每张表的用途和存储的数据。考虑这些也可 以帮助...
MySQL架构 - MySQL存储引擎 -小结

MySQL架构 - MySQL存储引擎 -小结

MySQL架构 - MySQL存储引擎 -小结2011-10-01 iteye 译:风雪涟漪存储引擎总结下面的图表总结了MySQL流行的存储引擎的事物和锁相关的特性。MySQL版本的那一列给出了要使用引 擎的最低版本,对于一些引擎和MySQL版本你可能要自己编译服务器。这一列All值的意思就是高于 MYSQL3.23的所有版本。存储引擎MySQL版本事物锁的颗粒度关键的应用禁忌MyISAMAllNo表,并发插入SELECT,INSERT,大批量读取混合读写...
浅谈MySQL的授权方式

浅谈MySQL的授权方式

浅谈MySQL的授权方式2011-10-04王猛很多人都不理解MySQL的授权方式,主要原因是没有中文资料别无其他!我不想嘲笑谁,但是我认为有 必要搞清楚这一重要的因素。国际官司我们已经吃亏太多了,我不想这变成笑柄。当前,MySQL采用双重授权(Dual Licensed),他们是GPL和MySQL AB制定的商业许可协议。如果你在一 个遵循GPL的自由(开源)项目中使用MySQL,那么你可以遵循GPL协议使用MySQL。否则,你需要购买 MySQLAB制...
MySQL的优化(一)

MySQL的优化(一)

MySQL的优化(一)2011-10-04一、我们可以且应该优化什么?硬件操作系统/软件库SQL服务器(设置和查询)应用编程接口(API)应用程序二、优化硬件如果你需要庞大的数据库表(>2G),你应该考虑使用64位的硬件结构,像Alpha、Sparc或即将推出 的IA64。因为MySQL内部使用大量64位的整数,64位的CPU将提供更好的性能。对大数据库,优化的次序一般是RAM、快速硬盘、CPU能力。更多的内存通过将最常用的键码页面存放在内存中可以加...
MySQL的优化(二)

MySQL的优化(二)

MySQL的优化(二)2011-10-04六、优化应用应该集中精力解决问题。在编写应用时,应该决定什么是最重要的:速度操作系统间的可移植性SQL服务器间的可移植性使用持续的连接。.缓存应用中的数据以减少SQL服务器的负载。不要查询应用中不需要的列。不要使用SELECT * FROM table_name...测试应用的所有部分,但将大部分精力放在在可能最坏的合理的负载下的测试整体应用。通过以一种 模块化的方式进行,你应该能用一个快速“哑模块&r...
MySQL的优化(三)

MySQL的优化(三)

MySQL的优化(三)2011-10-04十一、维护如果可能,偶尔运行一下OPTIMIZE table,这对大量更新的变长行非常重要。偶尔用myisamchk -a更新一下表中的键码分布统计。记住在做之前关掉MySQL。如果有碎片文件,可能值得将所有文件复制到另一个磁盘上,清除原来的磁盘并拷回文件。如果遇到问题,用myisamchk或CHECK table检查表。用mysqladmin -i10 precesslist extended-status监控M...
MySQL的优化(四)

MySQL的优化(四)

MySQL的优化(四)2011-10-04十六、MySQL如何次存储数据数据库以目录存储。表以文件存储。列以变长或定长格式存储在文件中。对BDB表,数据以页面形式存储。支持基于内存的表。数据库和表可在不同的磁盘上用符号连接起来。在Windows上,MySQL支持用.sym文件内部符号连接数据库。十七、MySQL表类型HEAP表:固定行长的表,只存储在内存中并用HASH索引进行索引。ISAM表:MySQL 3.22中的早期B-tree表格式。MyIASM:I...
drupal安装过程

drupal安装过程

drupal安装过程2011-10-04叶金荣一、整个安装过程十分简单,就如INSTALL.txt中所述,由于我要让网站全部采用UTF-8编码,因此需 要特殊的做以下几步:1、修改 include/database.mysql.inc,大约在33行处增加代码:@mysql_query("SET NAMES UTF8;");它的作用是让PHP程序在整个数据库操作过程中,均采用UTF-8编码来传输数据,保证数据的编码不会 因为不兼容等原因出...
MySQL的优化(五)

MySQL的优化(五)

MySQL的优化(五)2011-10-04二十一、MySQL表高速缓存工作原理每个MyISAM表的打开实例(instance)使用一个索引文件和一个数据文件。如果表被两个线程使用或在 同一条查询中使用两次,MyIASM将共享索引文件而是打开数据文件的另一个实例。如果所有在高速缓存中的表都在使用,缓存将临时增加到比表缓存尺寸大些。如果是这样,下一个被 释放的表将被关闭。你可以通过检查mysqld的Opened_tables变量以检查表缓存是否太小。如果该值太...
<< 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 >>