文章列表
 
2012年01月29日 星期日 11:21

 
2011年09月25日 星期日 2:05

mark it

在根据主键查询或者唯一性索引查询是出现:Extra: Impossible WHERE noticed after reading const tables

explain走到这个方式,会很慢,一个空表也是如此,在并发量高的情况下存在相互的等待,因为他要判断之。

如果直接走索引的方式,那么效率就非常高。

 

奇怪mysql要整这么个东西干啥

 

http://wangyuanzju.blog.163.com/blog/stat

 
2011年08月23日 星期二 4:09

参考文档: http://dev.mysql.com/doc/refman/5.1/en/lock-tables.html

文档很详细,一些需要注意的地方:

lock table有两种模式  

lock tables table_name  read  [or write];

test1:

s

 
2011年08月21日 星期日 0:35

./mk-query-digest slow.log

--如此简单就可以分析mysql的慢日志,当然如果slow log很大时,这么做会消耗很大的性能。

主要参数:

--limit: default: 95%:20  Limit output to the given percentage or count.

--select: Compute aggregate statistics for these attributes.  (Query_time,Lock_time,Rows_sent,Rows_examin

 
2011年06月22日 星期三 22:47

2011-8-1

今天陪小隽睡觉的时候,小家伙做了个超级可爱的动作。 小手指向我的腋窝,做挠痒痒状,然后把小手拿回去用嘴巴吹吹,还发出‘hoho’的声音,感觉是想给我挠

 
2011年06月17日 星期五 12:09
一个innod的表,如果根据没有索引的列去更新,那么很悲剧,会lock整个表。

update tmp_xf set c 
 
2011年06月16日 星期四 22:27

Mark it!!!

cost =
    blevel +
    ceiling(leaf_blocks * effective index selectivity) +
    ceili

 
2011年06月14日 星期二 11:05
一些说明
堆表 没主键和索引
IOT表有主键
数据行长度22个字节
导入的数据主键ID随机性比较大,没有排序的
@@导入2000w
 
2011年06月13日 星期一 21:55

当导入索引组织表的数据不能排序时,那么效率是很差的。如果用一个大事务来做,很可能失败,并且导致服务器压力很大。

在oracle中还是推荐使用根据extent分块来实现大数据量的移动 http://hi.baidu.com/dbaeyes/blog/item/dcf741ada8edac004b36d674.html

 测试:

 
2011年06月12日 星期日 22:08

   索引组织表其实就是存储在一个索引结构中的表

一般我们在oracle数据库中,用到的都是堆组织表,而在mysql常用引擎innodb中的表就是索引组织表,今天因为业务需要,测试了下oracle的索引组织表

  需求是这样的,将有几十亿数据的A表的新字段cc更新为一个新值(蛋疼的需求),这个值来自数据仓库统计得到的一个B表,A.ID与B.ID关联,需要将B表拉到A表所在的库。如果使用常规的方法,将B表拉过来,然后还需要创建 id,cc两个字段的联合索引,这样将消耗大量的空间,并且索引大小会比表还大。所以直接

 
2011年06月09日 星期四 20:26

推荐一个软件和一个格式化工具

evernote 方便的记录,支持各种平台 android、iphone、ipad、mac、windows、blackberry、web,并且可以相互共享,也算是一朵小云 

 

使用http://quickhighlighter.com/ 可以把代码漂亮的色彩格式,真的很好用。

比如

 
2011年05月30日 星期一 21:57
 
2011年05月29日 星期日 22:08

mysql备库处理binlog日志是单线程的,无论主库有多少个database或者主库的tps有多高,备库当前的恢复模式都是单进程恢复。这样解决了并发的问题,但是也是备库很容易在主库高tsp的情况下,造成延迟。

一些情况下,备库的延迟可以通过预热来加快sql的执行速度。预热就是将需要更新的数据提取进行select,将数据缓存到内存,减少恢复进程执行时的IO消耗。 但当更新的数据很随机,数据量远远大于buffer pool大小时就不适用了。

数据库的tps上不去,负载过高,同时备库延迟,很多情况下是由于磁盘IO的压力导致的,如果重

 
2011年05月29日 星期日 20:18

 

之前写过关于mysql取随机数的记录,当时没有去分析表里数据量的分布情况,所以当执行计划不同时,实际的效果有非常大的差别。

dbaeyes 06:47:52>select count(

 
2011年05月29日 星期日 19:24

在取mysql主键最大最小值时,mysql会使用最优方式 SELECT tables optimized away

官方解释
 SELECT tables optimized away:当我们使用某些聚合函数来访问存在索引的某个字段时,MySQL Query Optimizer 会通过索引直接一次定位到所需的数据行完成整个查询。当然,前提是在 Query 中不能有 GROUP BY 操作。如使用MIN()或MAX()的时候

root@wap 06:57:32>explain select max(id) from tmp_xf;

+----+-------------+-------+------+---------------+------+---------+---

 
   
 
 
文章分类
 
   
 
文章存档
 
     
 
最新文章评论
  

关于spotlight,更多参考资料参考: http://www.innovatedigital.com/quest-spotlight
 

好文章。
 

好文~
 

mysql如果id递增的话,id越大越先被执行,但是执行顺序还是从上到下。
 

回复jenlin:手工测试的
   
帮助中心 | 空间客服 | 投诉中心 | 空间协议
©2012 Baidu