行溢出数据
行溢出数据,innodb引擎最大只支持65532字节的行,而不是65536节字,但此时一行的字节数据已经超过行所在页的字节数据(每页16KB,16384字节)
create table t2(t1 varchar(65535)) charset=latin1;
会引发错误,因为还有别的开销
行溢出数据,innodb引擎最大只支持65532字节的行,而不是65536节字,但此时一行的字节数据已经超过行所在页的字节数据(每页16KB,16384字节)
create table t2(t1 varchar(65535)) charset=latin1;
会引发错误,因为还有别的开销
查询日志,记录对mysql数据库的请求,无论这些请求是否成功。这些请求包括执行的SQL、连接登录mysql等所有信息。可以从里面看到connect被拒绝的请求。
Compressed和Dynamic行记录格式
主要区别是在存储BLOB和TEXT时采用完全溢出的方式,行记录中只存20个字节的指针,数据存放在off page页中。同时,Compressed格式可以对BLOB、TEXT这样的大对象进行zip算法的压缩存储
CHAR的行存储:char(N),N指的是字符的长度,而不是字节的长度。Char(10)具体是多少字节,要根据字符集决定。如果是latin1,则占用10字节。如果是utf8,占用30字节。如果是gb2312,占用20字节。
这些日志都是针对整个MySql数据库的(所有数据库,所有数据表),可以理解为全局日志。有以下日志类型
mysql 子分区
在range/list分区的基础上,还可以创建key/hash子分区。子分区的文件直接保存在表名目录下,而不是嵌套在父目录下。
如果为一个分区指定了子分区的名称,那么所有分区都要指定子分区的名称,且子分区的名称必须唯一,不能与其它分区的名称相同,每个子分区的数据必须相同。
子分区一般应用在特别大的表上,在多个磁盘上分别分配数据文件与索引文件。这种方式不适用于innodb引擎,因为innodb的数据与索引保存在一个文件里。使用data directory =’’,index directory =’’分别设置数据与索引文件,可以使用myisam引擎实现此种需求的表。
mysql 创建触发器,好久没看望触发器了
delimiter $$
create trigger tgr_userinfo_update before update on userinfo
for each row
begin
if new.income < old.income then
insert into userinfo_err
select old.userid,old.income,new.income,user(),now();
set new.income = old.income;
end if;
end;
$$
delimiter ;
对于BLOG与TEXT类型的字段,数据也不一定会放在BLOB页中。
如create table t4(v1 blog) charset=latin1
插入4条数据insert into t4 select repeat('a',8000);
其数据依然存放在数据页中。
page offset 00000003, page type [B-tree Node], page level [0001]
page offset 00000004, page type [B-tree Node], page level [0000]
page offset 00000005, page type [B-tree Node], page level [0000]
page offset 00000006, page type [B-tree Node], page level [0000]
page offset 00000000, page type [Freshly Allocated Page]
mysql The server quit without updating PID,这个错误出现已经不止一次了。造成这个错误的原因有很多。这前也处理过好几次,但都是通过网上google的。
这次也google了,不过问题没有解决,突然想到了mysql的错误日志,打开日志查找有[error]的字段,发现是在my.cnf配置里有一处配置写错了,修正之后,再启动mysql,一切正常了。
总结:mysql会把相关启动,运行,关闭的信息记录到错误日志,所以当mysql发生异常时应该先查看错误日志,而不是上网google.
大家都知道。为什么国内dropbox不能同步。其实突破这个也很简单。前提是你有s-s-h就可以。通过v-p-n上网的请绕行。
直接上图,大家就明白了。Dropbox 国内同步设置。至于怎么设置s-s-h,请自行搜索。
有道词典firefox不能取词,看了网上有很多方法,如:停止硬件加速。之类的根本不管用。
根本的解决办法是:重新安装有道词典,再重新安装其浏览器插件。重启浏览器,即可正常使用
格式化磁盘最小分配单元,最小单元为512字节。
为什么不能比512字节还要小,如256字节。因为一个扇区为512字节,最小单元比512字节还要小的话,一个扇区就可能存储两个文件的数据:
如file1:256字节,file2:256字节。全都存到一个扇区的话,在读取file1时,也会把file2的数据取出。
一般最小单元系统默认为4KB,如果存的文件都小于4KB的话,会浪费很多的扇区,即存储空间。
纳秒与毫秒换算,一直以为是1ms=1000ns,其实是不对的,应该是: 1ms = 1000000ns
CPU的一个时钟周期是纳秒级的,所以比磁盘读写毫秒级,要快上千万倍。CPU是不可能停在那里等待磁盘IO完成后,再做其它事情的,在等待的时间里,CPU可以执行千万次的指令了。
wptouch访问速度非常的慢,这是因为默认是用的google font,改为使用浏览器字体,即可解决问题。
设置:wptouch—主题设置—品牌—排印(选择浏览器字体)
instagram发送验证码手机收不到,这种情况多是使用安卓的手机,把sim卡换到苹果手机上就可以收到了
这是红果果的BS安卓手机么
last 查看用户登录
调用select()后,select会一直阻塞,直到有事件发生(on ready)状态。如果没有事件on ready,则一直阻塞。
Mac OS 支持的网络协议定义在
/etc/protocols
See also http://www.isi.edu/in-notes/iana/assignments/protocol-numbers
如果直接用man accept查看,会看到cupsaccept(8)文档,而不是accept的。
如果稍加留意,就会发现在查看某个函数时会有一个数字在函数名后面。如accept(2),所以man 2 accept,就可以看到accept的文档了。
当socket(2)完成创建TCP链接(3次握手成功)
再调用accept,则Tn=O(1)
在epoll上注册 socket(2),一旦事件完成,就可以调用accept,此时appept为非阻塞
PS: accept() extracts the first connection request on the queue of pending connections on the queue of pending connections:这个queue的长度应该是listen时指定的长度。