代码改变世界

文章分类 -  mysql

分页优化的四种方式

2014-06-10 07:54 by Rollen Holt, 5645 阅读, 收藏, 编辑
摘要: 转自:http://www.orczhou.com/index.php/2009/03/four-way-pager-display/很久以前读了一篇关于分页的文章,后来越想越有道理,最近又重新找出来,并做了翻译,原文参考:Four ways to optimize paginated displa... 阅读全文

SQL中drop,delete和truncate的异同

2014-06-10 00:10 by Rollen Holt, 397 阅读, 收藏, 编辑
摘要: 相同点: truncate 和不带 where 子句的 delete,以及 drop 都会删除表内的数据不同点: 1. truncate 和 delete 只删除数据不删除表的结构(定义) drop 语句将删除表的结构被依赖的约束(constrain)、触发器(trigger)、索引(index)... 阅读全文

由浅入深探究mysql索引结构原理、性能分析与优化

2013-11-06 20:54 by Rollen Holt, 760 阅读, 收藏, 编辑
摘要: 【由浅入深探究mysql索引结构原理、性能分析与优化】本文作者历时一个月完成,详细介绍了MySQL索引的知识,强烈推荐! (分享自@MySQL)http://ourmysql.com/archives/1171 阅读全文

select * from tab where ..... for update nowait

2012-12-09 01:28 by Rollen Holt, 676 阅读, 收藏, 编辑
摘要: 大家在使用plsqldeveloper时 ,修改数据的时候比较喜欢 select * from tab for update ,然后开始修改数据这种模式比较容易锁住数据,有的时候还出现自己锁住自己的事情(自己有开了个窗口用了select * from tab for update )我个人推荐大家在修改数据的时候用 select * from tab where ..... for updatenowait;大家都用这个,否则效果会打折扣。例子:下图如果两个人都使用 select * from tab for update ,那么必定有一个人被锁住只有一方commit后,另一方才能用,如图2如 阅读全文

关系模式的函数依赖

2012-06-27 08:45 by Rollen Holt, 13344 阅读, 收藏, 编辑
摘要: 再论关系与关系模式回顾关系与关系模式这两个概念的联系和区别。关系:元组的集合,笛卡尔积的一个子集,其实质是一张二维表,表的每一行为一个元组。关系模式:对元组中数据组织方式的结构性描述,其实质是删去所有元组后的空表格。关系与关系模式的联系:关系模式是相对稳定的、静态的,而关系却是动态变化的,不稳定的,且关系的每一次变化结果,都是关系模式对应的一个新的具体关系。这是因为:关系模式是对元组中数据组织方式的结构性描述,关系是关系模式的一个取值实例。一个具体关系不管增加或减少一个元组,都变成一个新的关系。一个关系都对应一个关系模式,而一个关系模式可以定义多个关系。注意:在以后的讨论中,关系模式R(U)对 阅读全文

数据库范式1NF 2NF 3NF BCNF

2012-06-27 08:35 by Rollen Holt, 518 阅读, 收藏, 编辑
摘要: (转自:http://www.itisedu.com/phrase/200604241410105.html)设计范式(范式,数据库设计范式,数据库的设计范式)是符合某一种级别的关系模式的集合。构造数据库必须遵循一定的规则。在关系数据库中,这种规则就是范式。关系数据库中的关系必须满足一定的要求,即满足不同的范式。目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、第四范式(4NF)、第五范式(5NF)和第六范式(6NF)。满足最低要求的范式是第一范式(1NF)。在第一范式的基础上进一步满足更多要求的称为第二范式(2NF),其余范式以次类推。一般说来,数据库只需 阅读全文

Mysql数据导入导出

2012-05-19 22:23 by Rollen Holt, 548 阅读, 收藏, 编辑
摘要: 导出导入数据库导出mysqldump方法mysqldump -u用户名 -p密码名 database [table]> 目标文件导入mysql -uroot -prootuse databasesource 目标文件;PS: 这种方法是导出整个表数据,并且带着建表信息,假如导入的数据库有同名的表,会被替换PS: 可以添加条件mysql -uroot -proot [-n] [-t] [-d] database [table]>name-t 不包含创建表的信息-d不包含数据信息--w or -w筛选条件1 例:先进入dos cmd命令模式 Ctrl旁边的键+R 2 导出 mysqld 阅读全文

Mysql基本用法

2012-05-19 22:07 by Rollen Holt, 10255 阅读, 收藏, 编辑
摘要: #登录数据库mysql -hlocalhost -uroot -p;#修改密码mysqladmin -uroot -pold password new;#显示数据库show databases;#显示数据表show tables;#选择数据库use examples;#创建数据库并设置编码utf-8 多语言create database `examples` default character set utf8 collate utf8_general_ci;#删除数据库drop database examples;#创建表create table test( id int(10) un... 阅读全文

MySQL常见命令 [转]

2012-05-16 12:43 by Rollen Holt, 271 阅读, 收藏, 编辑
摘要: 转自:http://www.cnblogs.com/longdouhzt/archive/2012/05/01/2478226.html#top 服务器或VPS用户如何用命令创建MYSQL数据库 一、连接MYSQL 格式: mysql -h主机地址 -u用户名 -p用户密码 1、 连接到本机上的MYSQL。 首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root -p,回车后提示你输密码.注意用户名前可以有空格也可以没有空格,但是密码前必须没有空格,否则让你重新输入密码. 如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MY... 阅读全文

mysql中limit的用法详解[数据分页常用]

2012-05-16 12:25 by Rollen Holt, 308 阅读, 收藏, 编辑
摘要: 转自:http://www.phpweblog.net/peiyinjin/archive/2008/04/15/3199.html在我们使用查询语句的时候,经常要返回前几条或者中间某几行数据,这个时候怎么办呢?不用担心,mysql已经为我们提供了这样一个功能。SELECT * FROM table LIMIT [offset,] rows | rows OFFSET offset LIMIT 子句可以被用于强制 SELECT 语句返回指定的记录数。LIMIT 接受一个或两个数字参数。参数必须是一个整数常量。如果给定两个参数,第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行.. 阅读全文

优化MySQL数据库性能的八种方法

2012-04-17 22:36 by Rollen Holt, 403 阅读, 收藏, 编辑
摘要: 1、选取最适用的字段属性 MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快。因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度设得尽可能小。例如,在定义邮政编码这个字段时,如果将其设置为CHAR(255),显然给数据库增加了不必要的空间,甚至使用VARCHAR这种类型也是多余的,因为CHAR(6)就可以很好的完成任务了。同样的,如果可以的话,我们应该使用MEDIUMINT而不是BIGIN来定义整型字段。 另外一个提高效率的方法是在可能的情况下,应该尽量把字段设置为NOT NULL,这样在将来执行查询的时候,数据库不用去比较.. 阅读全文

MySQL索引背后的数据结构及算法原理

2012-03-30 05:05 by Rollen Holt, 5005 阅读, 收藏, 编辑
摘要: 原文地址:http://www.codinglabs.org/html/theory-of-mysql-index.html#nav-2-1摘要本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL时主要打交道的索引,至于哈希索引和全文索引本文暂不讨论。文章主要内容分为三个部分。第一部分主要从数据结构及算法理论层面讨论MySQL数据库索引的数理基础。第 阅读全文