mysql
iteye_12858
这个作者很懒,什么都没留下…
展开
-
mysql数据库命名遇到的几个问题
1 数据库名字不能有句号(.)2 表名不能以数字开头,这时表名要用`引用起来2012-09-27 10:58:40 · 227 阅读 · 0 评论 -
mysql Partition(分区)
表数据量大的时候一般都考虑水平拆分,即所谓的sharding.不过mysql本身具有分区功能,可以实现一定程度的水平切分.mysql是具有MERGE这种引擎的,就是把一些结构相同的MyIASM表作为一个表使用,但是我觉得 MERGE不如partition实用,因为MERGE会在所有的底层表上查询,而partition只在相应的分区上查询.建立了两个表,分别为分区和未分区的,分区表按...2013-01-30 19:42:02 · 715 阅读 · 0 评论 -
mysql的Late row lookups(延迟row查找)
[code="sql"]CREATE TABLE `20130122handler` ( `id` int(11) NOT NULL AUTO_INCREMENT, `uid` int(11) NOT NULL, `content` varchar(50) NOT NULL, PRIMARY KEY (`id`), KEY `20130122handler_idx...2013-01-30 19:47:46 · 269 阅读 · 0 评论 -
mysql快速导入数据
mysql一般导入导出数据有两种方式,1是导出insert语句,然后插入,2是导出outfile,然后load data infile实验用的的表如下[code="sql"]show create table 20130208load;CREATE TABLE `20130208load` ( `id` int(11) NOT NULL AUTO_INCREMENT,...2013-02-21 23:28:36 · 145 阅读 · 0 评论 -
mysql case ... when语句的几个用法
一般情况下,case ...when都用在select语句中,不过可以在其他子句中使用1 在order by子句中进行自定义排序[code="sql"]show create table 20130225t1;CREATE TABLE `20130225t1` ( `id` tinyint(4) NOT NULL AUTO_INCREMENT, `b` char(1) ...原创 2013-02-25 19:54:14 · 409 阅读 · 0 评论 -
Innodb log buffer的flush
innodb为了保持事务的特性,需要redo log的支持,即ib_logfile0,ib_logfile1这几个file(它的undo log是放在innodb的共享表空间的)innodb向redo log进行write和flush操作.注意,write和flush是两种不同的操作,write是向文件写入内容,此时内容可能只是在操作系统缓存中,flush才是真正把文件内容刷到硬盘...2013-03-03 10:31:54 · 137 阅读 · 0 评论 -
innodb的mvcc和read view
最近读High Performance MySQL,里面提到了innodb事务隔离级别是REPEATABLE-READ时,有这样一段话[quote]SELECTInnoDB must examine each row to ensure that it meets two criteria:a. InnoDB must find a version of the row that ...2013-03-03 12:18:31 · 920 阅读 · 0 评论 -
innodb不同事务隔离级别下行锁的释放
innodb使用的是行锁,原来一直以为InnoDB不是只在最终符合where条件的行上加锁,而是在被扫描过的所有行上加锁.见[url]http://kabike.iteye.com/blog/1698478[/url]最近看 ,里面提到[quote]InnoDB locks rows only when it accesses them, and an index can re...2013-03-13 19:37:42 · 320 阅读 · 0 评论 -
mysql多列索引(Multiple-Part Index)多个列上range scan时使用in
[code="sql"]show create table 20130314t1CREATE TABLE `20130314t1` ( `id` int(11) NOT NULL, `col1` int(11) NOT NULL, `col2` int(11) NOT NULL, PRIMARY KEY (`id`), KEY `key1` (`col1`...2013-03-18 18:30:18 · 351 阅读 · 0 评论 -
innodb index的DDL
mysql的innodb表,如果想创建一个secondary index,原来都是需要copy一个新表的,所以相当耗时.mysql5.1以后,可以使用innodb的plugin,就能使用Fast Index Creation.[url]http://dev.mysql.com/doc/innodb-plugin/1.0/en/innodb-create-index.html[/url]...2013-04-03 21:14:17 · 94 阅读 · 0 评论 -
mysql大战mongodb
nosql真是风起云涌,其中mongodb号称是比较像传统关系型数据库的,现在用mysql和mongodb进行一些简单评测.mongodb建立名为status的collection,并且添加uid这个列上的索引.db.createCollection("status");db.status.ensureIndex( { uid: 1} )建立结构相似的innodb类型的表[...2013-04-03 21:39:10 · 105 阅读 · 0 评论 -
innodb的buffer pool
innodb是有buffer pool机制的,可以参考[url]http://dev.mysql.com/doc/refman/5.1/en/innodb-buffer-pool.html[/url]buffer pool可以按page为单位,对记录进行缓存.[code="sql"]CREATE TABLE `20130122handler` ( `id` int(1...2013-01-28 23:20:49 · 91 阅读 · 0 评论 -
mysql直接通过handler读取数据
前几天在mysql文档中发现了它有个handler[url]http://dev.mysql.com/doc/refman/5.1/en/handler.html[/url],号称比select要快,因为省略了sql解析,查询优化等环节,也不用提供一致性读.所以用mysqlslap测试一下[code="sql"]CREATE TABLE `20130122handler` ( ...2013-01-24 21:16:57 · 455 阅读 · 0 评论 -
mysql自带的性能测试工具mysqlslap
想测试一下mysql的性能,可以使用它自带的工具mysqlslap文档是[url]http://dev.mysql.com/doc/refman/5.1/en/mysqlslap.html[/url]在mysql的配置文件里可以加入如下section[mysqlslap]query="D:/mysql-5.1.63-node1/mysqlslap-query.sql"cre...2013-01-24 21:14:10 · 142 阅读 · 0 评论 -
CP还是AP?
根据CAP理论,分布式存储系统最多只能满足其中两项.因为P是必须的,因此往往选择就在CP或者AP中.gluster通过设置[url=http://kabike.iteye.com/blog/1940479]Quorum[/url],可以在CP系统和AP系统间切换.mongodb可以设置[url=http://docs.mongodb.org/manual/core/write-conc...2013-09-11 11:30:47 · 4251 阅读 · 0 评论 -
mysql InnoDB行锁的一点体会
表结构如下[code="sql"]CREATE TABLE `20121015_t` ( `id` int(11) NOT NULL AUTO_INCREMENT, `a` int(11) NOT NULL, `b` int(11) NOT NULL, PRIMARY KEY (`id`), KEY `20121015_t_a` (`a`)) ENGINE=I...2012-10-15 13:45:52 · 218 阅读 · 0 评论 -
mysql中的enum和set类型
mysql中的enum和set其实都是string类型的而且只能在指定的集合里取值,不同的是set可以取多个值,enum只能取一个[code="sql"]CREATE TABLE `20121101_t` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(20) NOT NULL, `cl` set('x','w...2012-11-01 13:27:02 · 281 阅读 · 0 评论 -
mysql函数取代相关子查询(Correlated subquery)
[code="sql"]CREATE TABLE `20121105_teacher` ( `teacher_id` int(11) NOT NULL, `school_id` int(11) NOT NULL, PRIMARY KEY (`teacher_id`), KEY `20121105_teacher_idx_school` (`school_id`)) EN...2012-11-05 16:07:36 · 874 阅读 · 0 评论 -
mysql的XA事务恢复
mysql数据库开机报错:InnoDB: The log sequence number in ibdata files does not matchInnoDB: the log sequence number in the ib_logfiles!100224 12:24:20 InnoDB: Database was not shut down normally!Inn...2012-11-11 19:24:41 · 791 阅读 · 0 评论 -
mysql的PreparedStatement
环境为mysql 5.1.39mysql-connector-j 5.1.11测试代码[code="java"]public static void main(String[] args) throws Exception {Connection conn = getConnection();PreparedStatement ps = conn.prepar...2012-11-11 20:14:49 · 275 阅读 · 0 评论 -
mysql的timestamp类型的列
用Mysql Query Browser 创建的表的某个列类型是timestamp的,发现当该行更新时,这个timestamp列的值也被更新为当前的timestamp。用 show create table tablename命令查看建表语句,该列定义如下timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMES...2012-11-11 20:16:38 · 110 阅读 · 0 评论 -
mysql备份数据库权限
不想用root用户备份mysql数据库,于是创建了专门用来备份数据库的用户,并赋予相应的权限。[code="sql"]grant select,lock tables on databasename.* to 'readonly'@'%' identified by '48bnw0vj'[/code]...原创 2012-11-12 17:35:56 · 265 阅读 · 0 评论 -
[转载]MySQL索引背后的数据结构及算法原理
今天看到了一篇好文章,[url=http://www.codinglabs.org/html/theory-of-mysql-index.html#nav-2-1]MySQL索引背后的数据结构及算法原理[/url],特此记录下来.长期以来,一直不知道二叉树,B-tree,B+tree的区别,这下终于豁然开朗....原创 2012-12-29 16:46:14 · 209 阅读 · 0 评论 -
mysql timestamp和int存储时间
[code="sql"]show create table 20130107date;CREATE TABLE `20130107date` ( `id` int(11) NOT NULL AUTO_INCREMENT, `c_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `c_date_long` int(20)...2013-01-09 16:25:04 · 735 阅读 · 0 评论 -
centos系统下mysql load data infile报错(ERROR 29 (HY000): File '/tmp/data.txt' not fo)
执行load data infile报错[quote]ERROR 29 (HY000): File '/tmp/data.txt' not found (Errcode: 13)[/quote]多次确认文件权限无误,把selinux关闭后解决2014-11-10 17:00:22 · 526 阅读 · 0 评论