MyISAM几个容易忽视的配置选项

2012-7-19 杜世伟 Mysql

MyISAM在读操作占主导的情况下是很高效的。可一旦出现大量的读写并发,同InnoDB相比,MyISAM的效率就会直线下降,而且,MyISAM和InnoDB的数据存储方式也有显著不同:通常,在MyISAM里,新数据会被附加到数据文件的结尾,可如果时常做一些 UPDATE,DELETE操作之后,数据文件就不再是连续的,形象一点来说,就是数据文件里出现了很多洞洞,此时再插入新数据时,按缺省设置会先看这些洞洞的大小是否可以容纳下新数据,如果可以,则直接把新数据保存到洞洞里,反之,则把新数据保存到数据文件的结尾。之所以这样做是为了减少数据文件的大小,降低文件碎片的产生。但InnoDB里则不是这样,在InnoDB里,由于主键是cluster的,所以,数据文件始终是按照主键排序的,如果使用自增ID做主键,则新数据始终是位于数据文件的结尾。
了解了这些基础知识,下面说说MyISAM几个容易忽视的配置选项:
concurrent_insert:
通常来说,在MyISAM里读写操作是串行的,但当对同一个表进行查询和插入操作时,为了降低锁竞争的频率,根据concurrent_insert的设置,MyISAM是可以并行处理查询和插入的:
当concurrent_insert=0时,不允许并发插入功能。

阅读全文>>

标签: linux mysql

评论(0) 浏览(14864)

使用mysql索引

2011-8-16 杜世伟 Mysql

使用MYSQL索引

关系数据库的世界是一个表与集合、表与集合上的运算占统治地位的世界。数据库是一个表的 集合,而表又是行和列的集合。在发布一条SELECT 查询从表中进行检索行时,得到另一个行和列的集合。这些都是一些抽象的概念,对于数据库系统用来操纵表中数据的基本表示没有多少参考价值。另一个抽象概念 是,表上的运算都同时进行;查询是一种概念性的集合运算,并且集合论中没有时间概念。当然,现实世界是相当不同的。数据库管理系统实现了抽象的概念,但是 在实际的硬件 范围内要受到实际的物理约束。结果是,查询要花时间,有时要花很长的时间。而人类很容易不耐烦,不喜欢等待,因此我们丢下了集合上的那些瞬间的数学运算的 抽象世界去寻求加速查询的方法。幸运的是,有几种加速运算的技术,可对表进行索引使数据库服务器查找行更快。可考虑怎样充分利用这些索引来编写查询。可编 写影响服务器调度机制的查询,使来自多个客户机的查询协作得更好。我们思考基本硬件怎样运行,以便想出怎样克服其物理约束对性能进行改善的方法Normal0false7.8 磅02falsefalsefalseEN-USZH-CNX-NON...

阅读全文>>

标签: MySQL索引

评论(0) 浏览(3809)

关联表数据库操作

2011-7-11 杜世伟 Mysql

关联表数据库操作

平常操作数据库关于关联表的操作比较少,由于今天用到就写了一个关联语句。问了很多人也没有找到自 己想要的结果。自己尝试了很多方法,终于成功了:介绍如下:

表 介绍:有两个数据库表, B ,AB数据库表有一个关联字段,A.id = B.v_id ,

功 能:按查询B表中出现的多少查询A表的数据降序排列

Sql语句为:select * from Bright jion A o...

阅读全文>>

评论(0) 浏览(3778)

SQL语法

2010-5-13 杜世伟 Mysql

SQL
语法
Select
SELECT "栏位" FROM "表格名"
Distinct
SELECT DISTINCT "栏位"
FROM "表格名"
Where
SELECT "栏位"
FROM "表格名"
WHERE &quo...

阅读全文>>

评论(0) 浏览(3794)

dos下导入mysql命令

2010-4-19 杜世伟 Mysql

用dos下导入MYSQL数据库。那就试试。

cmd ->进入dos界面,我相信大家都会吧!

下面是我操作的步骤!

首先进入MYsql/bin目录下(怎么样进入就不用说了吧.)。命令:msql -h 服务器地址(192.168.1.1) -u 用户名 -p

回车

password:********

回车

1.导出整个数据库


  mysqldump -u 数...

阅读全文>>

评论(0) 浏览(3193)

MySQL 命令行

2010-4-3 杜世伟 Mysql

MySQL 命令行

 

第一招、mysql服务的启动和停止
net stop mysql
net start mysql

第二招、登陆mysql
语法如下: mysql -u用户名 -p用户密码
键入命令mysql -uroot -p, 回车后提示你输入密码,输入12345,然后回车即可进入到mysql中了,mysql的提示符是:
mysql>
注意,如果是...

阅读全文>>

评论(0) 浏览(3348)

数据库更新语句

2010-3-6 杜世伟 Mysql

update 表名   set 属性名=' 更改的名字' where 属性名="属性值"

阅读全文>>

评论(0) 浏览(3187)

Powered by emlog 沪ICP备2023034538号-1