文章分类 -  MYSQL_CENTER

1
摘要:今天在学习JDBC的时候看到了关于MySql的事务的隔离级别的问题,感觉内容挺高级的,所以记录一篇文章,以备后面使用。数据库隔离级别有四种,应用《高性能mysql》一书中的说明:这四种隔离级别采取不同的锁类型来实现,若读取的是同一个数据的话,就容易发生问题。例如: 脏读(Drity Read):某个... 阅读全文
posted @ 2014-11-13 10:57 luckc# 阅读(267) 评论(0) 推荐(0) 编辑
摘要:所有应用软件之中,数据库可能是最复杂的。MySQL的手册有3000多页,PostgreSQL的手册有2000多页,Oracle的手册更是比它们相加还要厚。但是,自己写一个最简单的数据库,做起来并不难。Reddit上面有一个帖子,只用了几百个字,就把原理讲清楚了。下面是我根据这个帖子整理的内容。一、数... 阅读全文
posted @ 2014-07-12 09:43 luckc# 阅读(332) 评论(0) 推荐(0) 编辑
摘要:初步的键值比较,MongoDB完胜快还要更快,这一直都是我们给予数据库系统的目标MySQL Dragster把磁盘的速度当作它的最大障碍,这真的能说通吗?姑且就把作一个障碍,那解决方案呢?!如果一个障碍限制了你的Dragster,你完全可以选择更快的绕过它或者在计算机方面提升。举个例子:避免使用磁盘,尽可能的以内存替代用更快的磁盘(如SSD)其实上面这对类比并不好,因为来自磁盘的限制是如此之大,而且出人意料的是从未得到过改善。你可能会说,我们不是有SSD吗?对,这的确让硬盘得到了提升,但是别忘了:CPU和RAM提升的速度比之硬盘来的更快!但是不妨假设一下,我们的内存大到可以直接取代硬盘了,那么 阅读全文
posted @ 2012-09-07 11:17 luckc# 阅读(297) 评论(0) 推荐(0) 编辑
摘要:SQL code--创建索引时的注意事项/******************************************************************************** *主题:创建索引时的注意事项 *说明:本文起点可能会相对高点,首先你的很熟悉索引以及他们的存储结构 * 有很多地方你可能觉得有异议,欢迎一起讨论 *作者:Beirut(小爱) *日期: 2012.07.21 *另外:转载请着名出处。*****************************************************************************... 阅读全文
posted @ 2012-08-20 13:47 luckc# 阅读(299) 评论(0) 推荐(0) 编辑
摘要:在MySQL中的ORDER BY有两种排序实现方式:1.利用有序索引获取有序数据 取出满足过滤条件作为排序条件的字段,以及可以直接定位到行数据的行指针信息,在 Sort Buffer 中进行实际的排序操作,然后利用排好序的数据根据行指针信息返回表中取得客户端请求的其他字段的数据,再返回给客户端.1.1 按照索引对结果进行排序:order by 使用索引是有条件1)只包括在有选择的此列上(select后面的字段),不一定适应*的情况):CREATE TABLE `test` ( `id` int(11) NOT NULLAUTO_INCREMENT, `rdate` datetime NOT N 阅读全文
posted @ 2012-08-02 14:09 luckc# 阅读(961) 评论(0) 推荐(0) 编辑
摘要:1.数据库的对象: 1)选择表合适存储引擎:MyISAM: 应用时以读和插入操作为主,只有少量的更新和删除,并且对事务的完整性,并发性要求不是很高的. Innodb: 事务处理,以及并发条件下要求数据的一致性。除了插入和查询外,包括很多的更新和删除。(Innodb有效地降低删除和更新导致的锁定) Memory:数据保存在RAM,快速访问数据。要求表不能太大或者对mysql异常终止后不用恢复数据的 Merge: 2)优化表的数据类型,选择合适的数据类型: 原则:更小通常更好,简单就好,所有字段都得有默认值,尽量避免null: 例如: 数据库表设计时候更小的占磁盘空间尽可能使用更小的整数类型.(m 阅读全文
posted @ 2012-08-02 14:06 luckc# 阅读(353) 评论(0) 推荐(1) 编辑
摘要:索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形式保存。如果没有索引,执行查询时MySQL必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的记录。表里面的记录数量越多,这个操作的代价就越高。如果作为搜索条件的列上已经创建了索引,MySQL无需扫描任何记录即可迅速得到目标记录所在的位置。如果表有1000个记录,通过索引查找记录至少要比顺序扫描记录快100倍。假设我们创建了一个名为people的表:CREATE TABLE people ( peopleid SMALLINT NOT NULL, name CHAR(50) NOT NULL );然后,我们完全随机 阅读全文
posted @ 2012-03-26 10:24 luckc# 阅读(135) 评论(0) 推荐(0) 编辑
摘要:导语:数据库设计是整个程序的重点之一,为了支持相关程序运行,最佳的数据库设计往往不可能一蹴而就,只能反复探寻并逐步求精,这是一个复杂的过程,也是规划和结构化数据库中的数据对象以及这些数据对象之间关系的过程。下面给出了20个数据库设计最佳实践,当然,所谓最佳,还是要看它是否适合你的程序。一起来了解了解吧。使用明确、统一的标明和列名,例如 School, SchoolCourse, CourceID。数据表名使用单数而不是复数,例如 StudentCourse,而不是StudentCourses。数据表名不要使用空格。数据表名不要使用不必要的前缀或者后缀,例如使用School,而不是TblScho 阅读全文
posted @ 2012-02-07 11:00 luckc# 阅读(163) 评论(0) 推荐(0) 编辑
摘要:导读:尽管MySQL是最受欢迎的程序之一,但是许多开发人员认为有必要将其拆分成其他项目,并且每个分支项目都有自己的专长。该 需求以及Oracle对核心产品增长缓慢的担忧,导致出现了许多开发人员感兴趣的子项目和分支。本文将讨论受人们关注的三个流行MySQL分 支:Drizzle、MariaDB和Percona Server(包括XtraDB引擎)。文中简要介绍每个分支出现的原因及其目标,以及是否可在您自己的生产环境中使用它们。文章内容如下:简介MySQL是历史上最受欢迎的免费开源程序之一。它是成千上万个网站的数据库骨干,并且可以将它(和Linux)作为过去10年里Internet呈指数级增长的一 阅读全文
posted @ 2012-01-12 15:13 luckc# 阅读(1436) 评论(1) 推荐(0) 编辑
摘要:本文给大家介绍六条比较有用的MySQL的SQL语句,可能很多人都通过PHP来实现这些功能。 1. 计算年数 你想通过生日来计算这个人有几岁了。 SELECT DATE_FORMAT(FROM_DAYS(TO_DAYS(now()) - TO_DAYS(@dateofbirth)), '%Y') + 0; 2. 两个时间的差 取得两个 datetime 值的差。假设 dt1 和 dt2 是... 阅读全文
posted @ 2011-12-16 13:18 luckc# 阅读(153) 评论(0) 推荐(0) 编辑
摘要:摘要 IBM 为社区提供了 DB2 免费版本 DB2 Express-C,它提供了与 DB2 Express Edition 相同的核心数据特性,为构建和部署应用程序奠定了坚实的基础。 关系型数据库是当前广泛应用的数据库类型,关系数据库设计是对数据进行组织化和结构化的过程,核心问题是关系模型的设计。对于数据库规模较小的情况,我们可以比较轻松的处理数据库中的表结构。然而... 阅读全文
posted @ 2011-11-22 15:18 luckc# 阅读(167) 评论(0) 推荐(0) 编辑
摘要:概述 Amoeba是一个以MySQL为底层数据存储,并对应用提供MySQL协议接口的proxy。它集中地响应应用的请求,依据用户事先设置的规则,将 SQL请求发送到特定的数据库上执行。基于此可以实现负载均衡、读写分离、高可用性等需求。与MySQL官方的MySQL Proxy相比,作者强调的是amoeba配置的方便(基于XML的配置文件,用SQLJEP语法书写规则,比基于lua脚本的MySQL P... 阅读全文
posted @ 2011-11-16 18:03 luckc# 阅读(185) 评论(0) 推荐(0) 编辑
摘要:客户用的数据库是mysql,而研发好的产品支持oracle,我们必须把数据库环境从oracle转向mysql。我们在转换的过程中碰到了下面一些问题,希望能给同样遭遇的同仁们一些借鉴。如果我们在最初的设计、编码过程中注意数据库的移植性,这种情况下可以完全不需要作额外工作。 一、数据库环境从oracle转向mysql碰到的问题。 因为逻辑不变,所以原则是不改应用程序代码,只改数据库表的创建/初始化... 阅读全文
posted @ 2011-10-18 13:24 luckc# 阅读(258) 评论(0) 推荐(0) 编辑
摘要:MySQL数据库丢失root密码后,我们应该采取如下的方法来解决:首先,我们需要结束掉mysql的服务进程。然后在windows下面。 一是可以通过任务管理器来结束掉,应该是mysql-nt.exe。二是,如果你的mysql注册为服务的话,可以到服务里面把他先停掉。 在linux或者unix下面直接kill mysql的服务进程就可以。然后,再... 阅读全文
posted @ 2011-10-18 13:21 luckc# 阅读(220) 评论(0) 推荐(0) 编辑
摘要:本文给大家介绍六条比较有用的MySQL的SQL语句,可能很多人都通过PHP来实现这些功能。 1. 计算年数 你想通过生日来计算这个人有几岁了。 SELECTDATE_FORMAT(FROM_DAYS(TO_DAYS(now())-TO_DAYS(@dateofbirth)),'%Y')+0; 2. 两个时间的差 取得两个 datetime 值的差。假设 dt1 和... 阅读全文
posted @ 2011-10-18 13:14 luckc# 阅读(150) 评论(0) 推荐(0) 编辑
摘要:1、复制进程 Mysql的复制(Replication)是一个异步的复制,从一个Mysql instace(称之为Master)复制到另一个Mysql instance(称之Slave)。实现整个复制操作主要由三个进程完成的,其中两个进程在Slave(Sql进程和IO进程),另外一个进程在 Master(IO进程)上。 要实施复制,首先必须打开Master端的binary log(bin... 阅读全文
posted @ 2011-10-15 15:41 luckc# 阅读(183) 评论(0) 推荐(0) 编辑
摘要:MYSQL在默认的情况下查询是不区分大小写的,例如: CREATE TABLE T1( NAME VARCHAR(10) ); 对这个表,缺省情况下,下面两个查询的结果是一样的: SELECT * FROM T1 WHERE A=''ABC''; SELECT * FROM T1 WHERE A=''Abc''; 也就是说不区分大小写,而在数据库设计的时候,可能需... 阅读全文
posted @ 2011-10-15 15:39 luckc# 阅读(210) 评论(0) 推荐(0) 编辑
摘要:一.问题来源 安装MySQL如果手动安装一台还可以,但安装多台,手动安装很麻烦,需要编写一个shell程序 install_mysql.sh来进行安装 二.程序说明 将MySQL5.1.45安装到了 /home/longxibendi/mysql/usrl/local/mysql 数据文件以及日志文件设置在了 /home/longxibendi/mysql/3309/ 配置文件... 阅读全文
posted @ 2011-10-10 14:20 luckc# 阅读(297) 评论(0) 推荐(0) 编辑
摘要:相关文档:http://wenku.baidu.com/view/d10a7ea20029bd64783e2cdd.html#BEGIN CONFIG INFO #DESCR: 4GB RAM, 只使用InnoDB, ACID, 少量的连接, 队列负载大 #TYPE: SYSTEM #END CONFIG INFO# # 此mysql配置文件例子针对4G内存,并在两个日ip 2w ,pv 20w 测试过的。 # 主要使用INNODB #处理复杂队列并且连接数量较少的mysql服务器 # # 将此文件复制到/etc/my.cnf 作为全局设置, # mysql-data-dir/my.cnf 作 阅读全文
posted @ 2011-10-09 13:35 luckc# 阅读(252) 评论(0) 推荐(0) 编辑
摘要:1、 组函数用法规则mysql中组函数在select语句中可以随意使用,但在oracle中 如果查询语句中有组函数,那其他列名必须是组函数处理过的,或者是group by子句中的列 否则报错。eg:select name,count(money) from user ;这个放在mysql中没有问题 在oracle中就有问题了.............2、自动增长的数据类型处理MYSQL有自动增长的数据类型,插入记录时不用操作此字段,会自动获得数据值。ORACLE没有自动增长的数据类型,需要建立一个自动增长的序列号,插入记录时要把序列号的下一个值赋于此字段。CREATE SEQUENCE 序列号 阅读全文
posted @ 2011-10-09 13:32 luckc# 阅读(170) 评论(0) 推荐(0) 编辑

1