自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 收藏
  • 关注

MySQL源代码几个主要文件夹

MYSQL版本:5.1.34主要文件夹:1.BUILD:编译和安装脚本目录,大部分以compile开头的文件,包括不同处理器环境下的编译shell,例如compile-pentium64-debug:#! /bin/shpath=`dirname $0`set -- "$@" --with-debug=full. "$path/SETUP.sh"extra_flags="$pentiu...

2010-12-29 20:24:00 102

MySQL锁概述(转载)

转载自:http://www.mysqlpub.com/forum.php?mod=viewthread&tid=5383&extra=page%3D101 MySQL锁概述 http://www.mysqlpub.com/forum.php?mod=viewthread&tid=5375&extra=page%3D102 MyISAM表锁 ht...

2010-12-27 13:42:00 61

Mysql5.5

转载自:http://www.mysqlpub.com/forum.php?mod=redirect&tid=18137&goto=lastpost#lastpost///////////////////////////////////////////////////////////12月16日,甲骨文公司宣布,MySQL 5.5全面上市,这突出显示了甲骨文在兑现...

2010-12-27 11:20:00 67

下周学习计划

本周主要对MySQL的存储过程、准备语句、游标、触发器、查询缓存等高级特性做了一些了解,并进行了一些实际操作测试,下周将开始着手阅读代码。阅读代码版本:5.1书籍:《深入理解MySQL》第三章...

2010-12-26 22:25:00 133

MySQL笔记(MYSQL准备语句)

MYsql准备语句MySQL支持准备语句,即在执行真正的查询前,将查询的模式先发送到服务器进行解析,将解析和优化的结果保存下来,在一些编程库中支持这种功能,通过准备语句可以很高效的在客户端和服务器端进行数据发送。准备语句中,将?作为参数,例如:INSERT INTO people(last_name,first_name) values(?,?);Mysql将把一个状态...

2010-12-25 19:59:00 73

MySQL游标

MySQL中的游标仅在存储过程中被支持,只读且不可滚动,使用光标可以迭代每一行结果,并把结果提取到变量中以做进一步处理。游标是在临时表上进行操作的,其语法如下所示:DECLARE cursor_name CURSOR FOR select_statement这个语句声明一个光标。也可以在子程序中定义多个光标,但是一个块中的每一个光标必须有唯一的名字。SELECT语句不能有...

2010-12-25 16:21:00 57

MySQL事件(ZZ)

CREATE EVENTCREATE EVENT [IF NOT EXISTS] event_nameON SCHEDULE schedule[ON COMPLETION [NOT] PRESERVE][ENABLE | DISABLE][COMMENT 'comment']DO sql_statement;schedule:AT timestamp [+ INTERVAL inte...

2010-12-25 15:11:00 98

MySQL笔记(MYSQL触发器)

当执行delete、update或insert操作时,可以使用触发器来触发某些操作。创建触发器:CREATE TRIGGER trigger_name trigger_time trigger_event ON tbl_nameFOR EACH ROW trigger_stmt其中 trigger_name是触发器名,trigger_time:BEFOR...

2010-12-25 14:56:00 57

MySQL InnoDB vs PostgreSQL (转载)

转载自:http://wangyuanzju.blog.163.com/blog/static/13029200799101140359/多版本并发控制技术被很多数据库或存储引擎采用,如Oracle,MS SQL Server 2005+, PostgreSQL, Firebird, InnoDB, Falcon, PBXT, Maria等等。新的数据库存储引擎,几乎毫无例外的使用多版...

2010-12-24 15:13:00 159

MYSQL笔记(存储程序)

存储程序即将SQL语句存储在服务器上,客户端无需重新发布单独语句。遵循的语法:SQL2003前提:需要在MYSQL数据库中有proc表,该表在安装MYSQL过程中创建权限:1.创建存储子程序:CREATE ROUTINE权限2.提醒或移除子程序:ALTER ROUTINE权限3.执行子程序:EXECUTE权限一个子程序与特定的数据库相联系,在存储子程序内USE...

2010-12-22 22:58:00 58

25条有用的SSH命令(ZZ)

SSH是一个非常伟大的工具,如果你要在互联网上远程连接到服务器,那么SSH无疑是最佳的候选。下面是通过网络投票选出的25个最佳SSH命令,你必须牢记于心。  1、复制SSH密钥到目标主机,开启无密码SSH登录  ssh-copy-id user@host  如果还没有密钥,请使用ssh-keygen命令生成。  2、从某主机的80端口开启到本地主机2001端口的 ssh 隧道...

2010-12-22 15:52:00 78

MYSQL笔记(MySQL查询缓存)

查询缓存保存了完整的SELECT结果集;这样当一个相同的查询到达时,可服务器可以跳过解析、优化、执行等阶段,直接把结果返回给客户端,但某种意义上讲,查询缓存实际上修改了应用程序请求的语义,例如,即使在LOCK TABLES的情况下,查询也能被缓存下来。 在服务器端维护了一个查找表,查找的键是查询文本、数据库和客户端协议版本及其他影响实际查询结果的因素,综合起来的哈希值,也就是说,只...

2010-12-21 22:58:00 56

下周MySQL学习计划安排

本周主要对MYSQL的查询优化模块有了大致的了解,并进行了一些实验。MYSQL优化器在接受到规范化的解析树后,将根据一些预定义的规则,从搜索空间里找到最优方案,其评价的单位为一个文件页面,即以随机访问页面数来评价。 但需要注意的是,优化器并不总是能选出最优方案,有时候,当搜索空间太大时,优化器会走某种捷径,但可能丢弃好的方案。你可以手动的设置某些提示语句(见前文)来对优化进行控制。另外,优化...

2010-12-19 22:07:00 69

MYSQL笔记(控制优化器的行为)

如果不满意MYSQL提供的优化方案,可以使用一些查询提示来控制优化器的行为1.HIGH_PRIORITY和LOW_PRIORITY决定访问同一个表的语句相对与其他语句的优先级,根据这两个提示服务器对访问表的队列进行处理,在有表锁的存储过程中有效,但在有细粒度锁或者并发控制的存储引擎上无效2.DELAYED应用于INSERT和UPDATE,语句立刻返回并将待插入的列放入缓冲区,...

2010-12-18 18:33:00 55

MYSQL笔记(查询优化续3,特定类型的优化建议)

count查询对于MYISAM中的SQL:SELECT count(*) from city WHERE id > 5;改写为:SELECT (SELECT COUNT(*) FROM city) - count(*) FROM city where id <=5采用否定条件,在子查询中的count将会被MYISAM优化为一个常量另外在优化count时可以...

2010-12-18 18:30:00 51

MYSQL笔记(查询优化续2--查询优化限制5.1版本)

1.对子查询的优化可能会很糟糕,例如where 子句中的IN查询,优化器会将IN中的子查询与外表进行联系,可以使用联接或者用group_concat来手动生成IN中的列表2.对union的限制,一些外部条件例如limit、order by等有时不会被“下推”到UNION的内部,例如,对两个表进行union,并进行limit,mysql会首先把这两个表都读入临时表,再进行limit。...

2010-12-16 22:57:00 57

MySQL笔记(查询优化续1)

在MYSQL中,提供给优化器使用的统计数据是由存储引擎提供,例如表或索引的页面数量、键和行的长度等信息。由优化器产生的执行计划是一个树形结构,用于指导执行引擎产生结果,其结构为一个左深度树.如: join join tbl4 join tbl3tbl1 tbl2MYSQL联接优化器是优化器中最重要的部分,决定了多表查询的最佳执行...

2010-12-16 00:45:00 46

MySQL笔记(查询优化)

查询性能优化基本原则:优化数据访问一些典型的错误包括:提取了超过需要的行、多表联接时提取所有列或提取所有的列(select * 可能会造成覆盖索引这样的优化手段失效)MySQL中,最简单的开销指标包括:1.执行时间2.检查的行数3.返回的行数---通过使用索引,在explain时可以减少处理的行数---使用覆盖索引来避免访问行---------...

2010-12-12 22:22:00 50

linux下线程优先级设定

POSIX标准指定了三种调度策略:先入先出策略 (SCHED_FIFO)、循环策略 (SCHED_RR) 和自定义策略 (SCHED_OTHER)。SCHED_FIFO 是基于队列的调度程序,对于每个优先级都会使用不同的队列。SCHED_RR 与 FIFO 相似,不同的是前者的每个线程都有一个执行时间配额。SCHED_FIFO 和 SCHED_RR 是对 POSIX Realtime 的扩展。SC...

2010-12-10 15:15:00 65

MySQL笔记(高效的ALTER TABLE)

在使用alter table进行表修改时,可能会引起很大的消耗,比如会新建一个空表,并进行数据转储,再删除旧表,而当表很大或者有许多索引时,将需要更大的代价,alter table可以使用ALTER COLUMN、MODIFY COLUMN、CHANGE COLUMN来修改列ALTER COLUMN:用于指定列的新默认值,或删除旧的默认值。如果旧的默认值被删除同时列值为NULL,则新...

2010-12-09 23:14:00 90

近期学习计划安排

手头琐事一堆,所幸还算是步入正轨,也可按照计划来做些想做的事情。上周主要学习了一些MySQL索引相关的知识,包括1.各种类型索引的大概了解2.InnoDB的聚集索引3.索引排序及维护等索引在优化数据库查询中具有极大的作用,但糟糕的设计可能会导致性能不升反降,MySQL在不同的存储引擎中,具有默认的索引设置而非用户显式定义,不了解存储引擎的内部机制,绝对是场灾难。下个...

2010-12-09 13:44:00 58

MySQl的ON DUPLICATE KEY

今天偶然看到ON DUPLICATE KEY这么个奇怪的语句,翻阅手册实验了下创建表:create t1(a int,b int, c int ,primary key(a));插入语句:insert into t1 values(1,3,3)1,3,3再次insert into t1 values(1,6,7) on duplicate key update c...

2010-12-08 23:12:00 39

ubuntu的apt命令(ZZ)

apt-get install packagename——安装一个新软件包(这个是最经常用到的)apt-get update–>在修改/etc/apt/sources.list或/etc/apt/preferences之后运行该命令apt-get remove packagename–>卸载一个已安装的软件包(保留配置文档)apt-get –purge remove packagena...

2010-12-08 15:44:00 64

MySQL笔记(索引和表维护)

索引和表维护------1.检查表:check table修复损坏的表:repair table(并非所有的存储引擎都支持)2.更新索引统计:Analyze table-主要用于查询优化器,优化器基于开销,而主要开销指标是查询会访问的记录数-MyISAM将统计信息保存在磁盘上。在进行统计时会锁住表 -InnoDB在第一次打开表的时候利用随机索引(??)进行估计,不够精确。在InnoDB中使...

2010-12-07 22:34:00 42

QQ腾讯是弱者,QQ用户是忍者

QQ腾讯是弱者,QQ用户是忍者文/《冲出数字化》作者 项有建 来源:《软件工程师》360大战腾讯,成为了中国IT业界近日的焦点问题。事情的起因本来很简单,QQ管家的推出,触犯了360的利益,于是,蓄谋已久的360终于拉开了攻击腾讯计划的第一步。腾讯QQ在偷规用户的隐私!这是360向腾讯所打响的第一枪,一石激起千层浪,平寂多时的互联网,一下子就热闹了起来。然而,马化腾是何许人...

2010-12-07 08:26:00 78

MySQL笔记(索引排序及压缩索引)

1.使用索引来进行order by(mark!!!看的笔记困惑,书上着墨不多,以后分析代码时细看!!)只有当索引的顺序和order by子句的顺序完全一致,并且所有列的排序方向一样才可以。当联接查询时,orderby的必须是第一个表。排序查询的where和order by需要形成索引的最左前缀,即总是要包含索引的左边的列。例如对于表a(i int,j int ,k int,t...

2010-12-06 22:31:00 76

MySQL笔记(覆盖索引)

覆盖索引:即包含查询所需要数据的索引,在某种情况下,对于查询,仅仅读取索引上的数据就已经足够了。一般情况下,在索引中查询的代价比。在查询前面使用explain,可以通过输出的extra列来判断,对于一个索引覆盖查询,显示为using index,MySQL查询优化器在执行查询前会决定是否有索引覆盖查询。以下两种情况将不会覆盖查询1)没有一个覆盖查询的索引2)执行like操作...

2010-12-05 22:26:00 41

MySQL的联结(Join)语法(ZZ)

出处:http://www.blogjava.net/chenpengyi/archive/2005/10/17/15747.html1.内联结、外联结、左联结、右联结的含义及区别:在讲MySQL的Join语法前还是先回顾一下联结的语法,呵呵,其实连我自己都忘得差不多了,那就大家一起温习吧(如果内容有错误或有疑问,可以来信咨询:陈朋奕chenpengyi#gmail.com)...

2010-12-05 22:07:00 51

MySQL笔记(聚集索引)

(目前为止比较困惑的一个部分,重点MARK下!)聚集索引(或称聚簇索引)是一种存储数据的方式,在Postgre和Oracle(被称为"index-organized table")均进行了实现。 MySQL中仅有SolidDB和InnoDB支持聚集索引,并且在5.1之前还不支持选择列进行聚集。在InnoDB中指定了主键后,数据的存储顺序就是主键的顺序。例如对于一个以整数字段作为主键...

2010-12-05 15:38:00 44

MySQL笔记

R-Tree索引MyISAM支持空间索引,可以使用于如GEOMETRY这样的地理空间数据类型(??困惑- -//?)全文索引:从文本中找到关键字,而不是直接和索引中的值进行比较。这似乎是个很强大的功能先在这里mark一下,后面再分析。类似下面的查询不能使用a上的索引mysql > SELECT a from t where a+1 =5;或者...

2010-12-04 00:31:00 48

MySQL笔记(哈希索引)

hash索引通过计算被索引列的哈希码,建立子哈系表的基础上,只对精确查询有用。在MySQL中,只有Memory存储引擎支持显式的哈希索引如CREATE TABLE th(l_name VARCHAR(50) NOT NULL,f_name VARCHAR(50) NOT NULL,KEY USING HASH(f_name)) ENGINE=MEMORY;...

2010-12-03 00:06:00 53

MySQL笔记(MySQL索引)

索引实现于存储引擎层,因此不具有统一的标准,其实现方式也可能不相同。如果索引包多列数据,那么列的顺序很重要,因为MySQL只能高效的搜索索引的最左前缀(leftmost prefix)B-Tree索引为大部分存储引擎所支持Ps:NDB Cluster存储引擎尽管把索引标记为BTREE,但其内部使用的却是T-TREE数据结构许多存储引擎实际使用的B+树,它的每一个叶子节...

2010-12-02 00:00:00 37

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除