为什么MYSQL timestamp取值范围是 1970-01-01 00:00:00 到 2038-01-19 3:14:07
TIMESTAMP和DATETIME的取值范围不同同时存储不同,TIMESTAMP占四个字节取值范围为 1970-01-01 00:00:00 到 2038-01-19 3:14:07那么为什么是这个取值范围呢 4个字节明显不够存储日期格式。4字节为2^32次方那么我们可以分析timestamp实际是C语言的一个INT 类型带符号位的。用ORACLE的格式算出来为SQL> select...
ERROR 1292 (22007): Truncated incorrect DOUBLE value 和ORA-01722: invalid number
其实这种错误和隐式转换有关MYSQL 错误模拟如下:myql> show variables like 'sql_mode%';+---------------+--------------------------------------------+| Variable_name | Value &nb...
mysql的auto_increment详解
转载http://blog.csdn.net/fwkjdaghappy1/article/details/7663331auto_increment的基本特性MySQL的中AUTO_INCREMENT类型的属性用于为一个表中记录自动生成ID功能,可在一定程度上代替Oracle,PostgreSQL等数据库中的sequence。在数据库应用,我们经常要用到唯一编号,以标识记录。在MySQ...
INNODB 页节点数据的存储方式、数据链、删除链的学习和实验总结
前文:关于MYSQL INNODB index page header学习和实验总结 http://blog.itpub.net/7728585/viewspace-2063921/关于INNODB SYSTEM RECORD infimum和supremum的学习和实验研究 http://blog.itpub.net/7728585/viewspace-2065464/所用到的工具是自己写的mysqlblock和bcview,我放到了百度云盘http://pan....
关于INNODB SYSTEM RECORD infimum和supremum的学习和实验研究
关于INNODB SYSTEM RECORD infimum和supremum的学习和实验研究接上一篇 http://blog.itpub.net/7728585/viewspace-2063921/关于MYSQL INNODB index page header学习和实验总结 接下来就是INDEX SYSTEM RECORDS,就是infimum和supremum如前面所介绍的,这两个系统记录是每个INNODB 块必须的,用来标示记录...
关于MYSQL INNODB index page header学习和实验总结
关于INNODB index header所用到的工具是自己写的,我放到了百度云盘http://pan.baidu.com/s/1num76RJ供大家下载和使用普通表空间(及设置了innodb_file_per_table每个表都对应一个idb文件)从第4个块开始通常是innodb的数据页。前38字节为FILE HEADER从38字节到74字节为INDEX HEADER,如下:number of dir...
INNODB 到底能存放多少数据?
一个INNODB SPACE 最大为64TB,但是为什么这样大呢?如果我们设置innodb_file_per_table后出现了多个SPACE 那么空间又是多大呢?先讨论一下INNODB 每个PAGE的 4-8字节为 block 的块号,我们查看一下:(工具为自己编写放到了云盘http://pan.baidu.com/s/1num76RJ)root@hadoop1 test]# bcview ibdata1 16 4 4|more***...
MYSQL Space id in fsp header,but in the page header错误
今天启动MYSQL的时候发现如下问题:2015-12-14 20:51:59 2098 [ERROR] InnoDB: Space id in fsp header 131225,but in the page header 652015-12-14 20:51:59 2098 [ERROR] InnoDB: inconsistent data in space header in tablespace ./test/oneblock.ibd (table test/oneblock)innodb的存储包含tablespace--segment...
将MYSQLDUMP全库备份分为单库文件的方法(自己写的小工具)
有时候我们备份是做的全库的备份,但是在恢复的时候却需要单库的文件,如果需要的库很小,我们把全库备份恢复回去然后导出想要的库的文件势必非常慢和耗时,这个时候如果能够拆分文件为单库就好了,所以做了如下一个工具工具叫做mysplit 可以查看备份出来每个库的大小和分割文件。下载百度云盘:http://pan.baidu.com...
小工具查看MYSQL数据文件块和类型
通过学习姜大师的INNODB 存储引擎,获得了块的格式的标识位,同时看到书上有他自己写的一个工具能够查看数据块的类型,那么既然知道了标识位,我使用C语言也写了一个功能类似的小工具,不要在生产环境,可用于学习和研究后期会加入更多想到的有用的功能。其实程序非常简单,我就在一个文件里面就完成了,因为不大所以没有...
关于MYSQL flush table的作用
关于MYSQL flush table的作用水平有限,还待学习。如有错误,请指正。先给出官方文档:? FLUSH TABLESCloses all open tables, forces all tables in use to be closed, and flushes the query cache. FLUSHTABLES also removes all query results from the query cache, like the RESET QUERY CACHEstatement.In...
对innodb_flush_method的一点解释
官方文档描述如下:By default, InnoDB uses the fsync()system call to flush both the data and log files. Ifinnodb_flush_method option is set to O_DSYNC, InnoDB uses O_SYNC to open and flush thelog files, and fsync()to flush the data files. If O_DIRECT is specified (available on some GNU/Linux ve...
MYSQL多表更新删除以及和ORACLE的对比
MYSQL多表更新操作,一般来说这类操作可以用IN和NOT IN,至少在ORACLE中可以这样做,ORACLE对IN和NOT IN的优化程度很高一般使用SEMI JOIN和ANTI JOIN进行半连接,抛弃不需要的行,但是MYSQL在这方面性能还是有一些问题,所以建议使用连接的方式如下,对于联合UPDATE ORACLE可以使用MERGE来代替比如update a,b set a.nam...
ORACLE MYSQL互相导入数据
只是一个列子和方法具体的选项按需求添加1、ORACLE卸载数据DECLARE row_result varchar2(4000); selectsql varchar2(4000); qrycursor SYS_REFCURSOR; txt_handle UTL_FILE.file_type;BEGIN --selectsql := 'select id || '','' || name || '','' || dti  ...
ORACLE导出文本到MYSQL 报错 Incorrect integer value: ''
今天从ORACLE导出数据文本格式的到MYSQL 5.6 发现<br />load data infile Incorrect date value ''<br />这种报错,从5.6开始在严格模式下插入数据如果是数字和日期<br />mysql> insert into testnull1 values('','test','');<br />ERROR 1366 (HY000): Incorrect integer value: '' for column 'id' at row 1<br /...
MYSQL和ORACLE时区设置比较
注意时区会影响TIMESTAMP的取值,默认为系统时区为TIME_ZONE=SYSTEM,动态可以修改set global time_zone = '+8:00'; 然后my.cnf加上,永久修改default-time_zone = '+8:00' The current time zone. This variable is used to initialize the time...
mysql (ICP) 索引条件下推对比ORACLE进行说明
mysql (ICP) 索引条件下推对比ORACLE进行说明<br /><br /><br />第一次看到这个名词,与ORACLE FPD - filter push-down想到了一块,但是后来才发现他们根本同一个东西,<br />简单的收ICP就是当索引包含所有的访问字段的时候,可以在根据前导列过滤掉条件的时候,同时过滤掉另外的<br />条件,比如说<br />CREATE TAB...
MYSQL 统计数据
统计数据的重要性相信了解ORACLE数据库的都非常清楚,他是生成执行计划的唯一标准,所以统计数据是否准确直接影响到执行计划的正确性,关于MYSQL虽然没有ORACLE那么多维度的统计数据(比如直方图)但是还是有的,MYSQL 5.6后分为2种统计数据1、永久化的统计数据默认的5.6.6后使用时这种...