2011年6月16日

修改列的默认值

摘要: 1MySQL执行alter table的时候,执行的时候通常需要重建一个表,然后将旧表的时候插入新的表中去;但是有的情况下却不需要这样,在5.1的官方文档中曾提到说如>果仅仅修改表的元数据,则这不需要重建表,而仅仅修改.frm就可以了。23但修改列的默认数据,不同的执行方式有不同情况,可以确定的是使用altertable...altercolumn...setdefault...肯定不会重建表,但是altertable... changecolumn...和altertable...modifycolumn...有可能会重建表>。45所以,大家在更改默认值的时候,选择alterta 阅读全文

posted @ 2011-06-16 15:55 andrefun 阅读(466) 评论(0) 推荐(0)

2011年6月8日

merge存储引擎应用

摘要: merge存储引擎,也叫做MRG_MyISAM,可以将同构的表合在一起使用。文档上说的“同构”指的是表定义相同,表的索引相同,但根据测试,索引结构不一样也没有问题。甚至在某些情况下,必须不同才能取得正确的数据。我们创建两个表m1,m2,并各插入几条数据。 1 mysql> show create table m1\G 2 *************************** 1. row *************************** 3 Table: m1 4 Create Table: CREATE TABLE `m1` ( 5 `a` int(11) NOT NULL, 阅读全文

posted @ 2011-06-08 13:09 andrefun 阅读(253) 评论(0) 推荐(0)

2011年5月31日

mysql error log里面的一些debug信息

摘要: /tmp/a.html今天看到MySQL的error log里面出现了下面的内容: 1Current dir: /home/database/data/2Running threads: 0Stack size: 2621443Current locks:4lock: 0x125a0a0:56lock: 0x125a9a0:78lock: 0x125a8a0:910lock: 0x125a7a0:1112lock: 0x125a2a0:1314lock: 0x125a1a0:1516lock: 0x1259fa0:1718lock: 0x1259ea0:1920lock: 0x1259da0: 阅读全文

posted @ 2011-05-31 11:55 andrefun 阅读(955) 评论(0) 推荐(0)

2011年5月27日

vim TOhtml的用法

摘要: 这不开了博客,作为一个半吊子的程序员,难免贴点儿代码神马的。可是代码没有了高亮和缩进,我自己都看不下去,就别难为看博客的游客了。本来也想去租个空间来倒腾一下,但是对国内的空间实在不敢恭维;国外的空间倒是不错,可是慑于GFW的神威,想想还是算了。然后突然冒出一个想法,itpub的博客能否支持高亮和缩进呢(ps:后来发现cnblogs原生态支持,但本文也有用武之地)?今天花了2个小时,研究了一下,其实是可以的。步骤如下:1、vim编辑代码;2、如果有中文字符,则:let html_use_encoding='gb2312';4、设置let html_no_pre = 1,This 阅读全文

posted @ 2011-05-27 14:40 andrefun 阅读(870) 评论(0) 推荐(1)

InnoDB的索引

摘要: InnoDB的索引分成primary key和secondindex。在InnoDB的实现中,主键就是cluster index,即是说InnoDB的数据是按照主键的顺序排序的。可能有同学会问,那如果InnoDB没有主键怎么办?放心,InnoDB会为为你选择一个的:1、如果有存在not null的unique index,那么InnoDB就将该索引作为主键;2、否则就自己内建一个类似rowid的列。所以InnoDB的cluster index一定存在,并且有且仅有一个。主键指向了具体的数据,而second index指向的是主键。所以在查找时如果使用的是second index,那么先要找到去 阅读全文

posted @ 2011-05-27 14:35 andrefun 阅读(598) 评论(0) 推荐(0)

InnoDB和MyISAM都是密集索引?

摘要: /tmp/a.sql.html1以前从一些资料上看到InnoDB的索引是稀疏索引,而MyISAM的索引是密集索引,今天刻意测试了一下,发现竟然不是这样。2找时间研究下,mark一下先。3mysql> showcreatetableuniq_id\G4***************************1.row***************************5Table: uniq_id6CreateTable:CREATETABLE`uniq_id` (7`id` int(11)DEFAULTNULL,8KEY `id` (`id`)9) ENGINE=InnoDBDEFAUL 阅读全文

posted @ 2011-05-27 14:25 andrefun 阅读(616) 评论(0) 推荐(0)

导航