MySQL
文章平均质量分 54
开心鹰子
一直混迹于互联网,专心做过MySQL,学习过Oracle,崇尚简单生活,多交朋友,一直奢望一次说走就走的旅行,勇气不够......
展开
-
InnoDB的锁定机制
InnoDB的机制和Oracle有不少相近的地方,但是两者的实现却是截然不同的。总的来说,Oracle锁定数据主要是通过在须锁定的某行记录所在的物理block上的事务槽上面添加锁定信息,而InnoDB的锁定则是通过在指向数据激励的第一个索引键之前和最后一个索引键之后的空域空间标记锁定信息实现的。InnoDB的这种锁定实现方式被称为“next-key locking”(间隙锁),因为Qu转载 2011-06-28 16:10:00 · 652 阅读 · 0 评论 -
MySQL中的排序
对于任何Query,返回的数据都需要通过网络数据包传回给客户端,去除的Column越多,须要传输的数据量自然会越大,不论是从网络带宽方面考虑还是从网络传输的缓冲区来看,这都是一个浪费。 如果是需要排序的Query,其影响就更加大了。在MySQL中存在两种排序算法: 一种是在MySQL4.1之前的算法,实现方式是先将需要排序的字段和可以直接定位到相关行数据的指原创 2011-06-29 17:57:00 · 6006 阅读 · 0 评论 -
系统锁定争用情况查询
MySQL实现的表级别锁定的争用状态变量show status like table%;Variable_name ValueTable_locks_immediate 19Table_locks_waited 0 这里有两个状态变量记录MySQL内部表级锁定的情况,两个变量说明如下: Table_locks_imm原创 2011-06-28 17:25:00 · 4044 阅读 · 0 评论 -
explain的使用
在对某个Query优化过程中,须要不断地使用explain来验证各种调整是否有效。 MySQL explain功能展示的各种信息的解释如下:id: MySQL Query Optimizer 选定的执行计划中查询的序列号。select_type: 所使用的查询类型,主要有以下这几种查询类型。DEPENDENT SUBQUERY:子查询内层的第一个select,依赖于外部查原创 2011-06-30 17:53:00 · 776 阅读 · 0 评论 -
mysql 的binlog
Mysql和其它开源数据库相比,具有更好的扩展性。其主要原因是它提供了存储引擎的开放接口。喜欢自己折腾数据库的程序员可以从这个接口起步,打造有个性的数据库。然而这里不打算对某种存储引擎的实现细节进行描述,也不打算介绍各种存储引擎的优缺点,只是描述一下mysql转载 2011-07-05 17:40:22 · 675 阅读 · 0 评论 -
profiling 的使用
要想优化一条query,就须要清楚这条Query的性能瓶颈,具体是消耗cpu太多,还是IO操作多?Query profiler的具体用法:1 开启, set profiling=1; (开启之后,mysql会自动记录所有执行的Query的profile信息)2 执行query3原创 2011-07-07 17:47:49 · 887 阅读 · 0 评论 -
MySQL 的唯一索引
近期一直在看effective mysql之SQL语句最优化,本身倒感觉这书一般,但是偶尔有些还是值得记录下,加深下理解。我们都知道唯一索引优于普通索引,具体优势在哪儿?1、提供数据完整性以保证在列中任何值都只出现一次;2、告知优化器对给定的记录最多只能有一行结果返回,这点很重要,因为有了这些信息就可以避免额外的索引扫描。其中第1点很容易理解,第2点,我们就做了如下的实验原先的原创 2015-03-24 11:01:34 · 943 阅读 · 0 评论 -
MySQL 文件排序 &索引排序
排序操作是非常消耗cpu的操作,当系统设置不当或query取出的字段过多时,还可以造成MySQL不得不放弃优化后的排序算法,而使用较为古老的需要两次IO的读取表数据的排序算法,使排序效率非常低下。利用索引进行排序操作,主要是利用了索引的有序性。在通过索引进行检索的过程中,就已经得到了有序的数据访问顺序,依次读取结果数据后就不需要进行排序操作,进而避免了此操作,提高了排序结果集的query性能。原创 2015-03-24 13:50:45 · 4211 阅读 · 0 评论 -
'root' has exceeded the 'max_questions' resource (current value: 100) (1226)
同事遇到一问题mysqldump: Couldn't execute 'select @@collation_database': User 'root' has exceeded the 'max_questions' resource (current value: 100) (1226)按照提示很容易想到 max_questions 值太大了,目前只有100,所以报错。原创 2015-04-09 17:32:25 · 7060 阅读 · 0 评论