数据库开发经验
RichardXu
永不放弃 耕者生存
展开
-
Mysql数据库Sql语句执行效率检查——Explain命令
<br />explain显示了mysql如何使用索引来处理select语句以及连接表。可以帮助选择更好的索引和写出更优化的查询语句。 <br />使用方法,在select语句前加上explain就可以了: <br />如:explain select surname,first_name form a,b where a.id=b.id <br />分析结果形式如下: <br />table | type | possible_keys | key | key_len | ref | rows | E转载 2010-06-28 16:03:00 · 1565 阅读 · 0 评论 -
This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its de 错误解决办法
这是我们开启了bin-log, 我们就必须指定我们的函数是否是1 DETERMINISTIC 不确定的2 NO SQL 没有SQl语句,当然也不会修改数据3 READS SQL DATA 只是读取数据,当然也不会修改数据4 MODIFIES SQL DATA 要修改数据5 CONTAINS SQL 包含了SQL语句其中在function里面,只有 DETERMINIST原创 2012-11-23 14:56:05 · 157510 阅读 · 47 评论 -
解决MySQL出现UnauthenticatedUser的问题
解决MySQL出现Unauthenticated User的问题在mysql里show processlist;发现有大量的unauthenticated user进程。MySQL不管连接是通过hosts还是ip的方式,MySQL都会对DNS做反查,IP到DNS,由于反查的接续速度过慢,大量的查询就难以应付,线程不够用就使劲增加线程,但是却得不到释放,所以MySQL会“假死”。转载 2013-03-18 10:47:31 · 4199 阅读 · 0 评论 -
Understanding Locking in SQL Server——理解SQL Server中的锁
译者注:原文中用到了一个词:granularity。维基百科上这样解释:It is the extent to which a larger entity is subdivided. 就是说,这个词表达了一个大的整体,比如一个系统,被分割成很多小部分时所用的尺度大小,更形象地说就是尺子的级别。比如,100块钱,按元这个这个尺度级别分,可以分100份儿;按照角这个尺度级别分,就可以分成100份翻译 2012-11-21 11:21:35 · 2584 阅读 · 0 评论 -
Mysql的Debug模式实现
MYSQL 源代码 调试模式原创 2013-09-12 16:27:56 · 12741 阅读 · 7 评论 -
Mysql Replication(主从服务器)配置实例
Mysql主从服务器配置实例Mysql Replication原创 2013-12-30 15:32:58 · 1299 阅读 · 0 评论 -
Mysql错误:Failed to read auto-increment value from storage engine Query的解决方法
mysqlauto_incrementFailed to read auto-increment value from storage engine Query原创 2014-01-02 11:57:28 · 13457 阅读 · 3 评论 -
Mysql错误:Duplicate entry '127' for key 'PRIMARY'的解决方法
MysqlDuplicate entry '127' for key 'PRIMARY'Failed to read auto-increment value from storage engine原创 2014-01-05 23:00:41 · 151013 阅读 · 3 评论 -
Introduction to InnoDB(InnoDB存储引擎简介)
MysqlInnoDB 引擎翻译 2013-11-12 11:57:11 · 1162 阅读 · 0 评论 -
连接MYSQL时,主机名为 localhost 和 127.0.0.1 的区别
MYSQL127.0.0.1localhost区别skip-name-resolve原创 2014-01-16 14:44:50 · 27077 阅读 · 0 评论 -
关于Mysql中的三种日期类型
MysqlDateDatetimeTimestamp0000-00-00 00:00:00原创 2014-06-09 14:40:57 · 1728 阅读 · 0 评论 -
事务(进程 ID )与另一个进程已被死锁在 lock 资源上,且该事务已被选作死锁牺牲品。请重新运行
所有的死锁最深层的原因就是一个:资源竞争 表现一: 一个用户A 访问表A(锁住了表A),然后又访问表B 另一个用户B 访问表B(锁住了表B),然后企图访问表A 这时用户A由于用户B已经锁住表B,它必须等待用户B释放表B,才能继续,好了他老人家就只好老老实实在这等了 同样用户B要等用户A释放表A才能继续这就死锁了解决方法: 这种死锁是由于你的程序转载 2012-11-20 17:52:38 · 39802 阅读 · 1 评论 -
关于Mysql权限表的使用小结
前几天遇到一个问题。我的msql权限表(mysql.user)的内容是这样的:Localhsot User Password%root*81F5E21E35407D884A6CD4A731AEBFB6AF209E1Bbogonroot*81F5E21E35407D884A6CD4A731AEBFB6AF209E1Blocalhos原创 2012-09-14 15:34:16 · 4215 阅读 · 0 评论 -
Oracle回滚段的概念,用法和规划及问题的解决
回滚段管理一直是ORACLE数据库管理的一个难题,本文通过实例介绍ORACLE回滚段的概念,用法和规划及问题的解决。 回滚段概述 回滚段用于存放数据修改之前的值(包括数据修改之前的位置和值)。回滚段的头部包含正在使用的该回滚段事务的信息。一个事务只能使用一个回滚段来存放它的回滚信息,而一个回滚段可以存放多个事务的回滚信息。 回滚段的作用 事务回滚:当转载 2012-05-18 16:44:21 · 894 阅读 · 0 评论 -
实例讲解Mysql中各种Join的作用
Mysql4.1开始支持SQL的子查询。这个技术可以使用SELECT语句来创建一个单列的查询结果,然后把这个结果作为过滤条件用在另一个查询中。使用子查询可以一次性的完成很多逻辑上需要多个步骤才能完成的SQL操作,同时也可以避免事务或者表锁死,并且写起来也很容易。但是,有些情况下,子查询可以被更有效率的连接(JOIN).. 替代。Mysql中有左连接(left join)、右连接(right join)和内连接(inner join或者cross join),今天我用一个实例来说明各自的作用:首先,建立两个实原创 2010-06-04 11:19:00 · 6887 阅读 · 2 评论 -
Speed of INSERT Statements(Mysql数据库优化方法——翻译自www.mysql.com)
插入一条记录所花的时间取决于下面几个因素,括号里的数字代表了该项所占的比重:•连接数据库服务器:(3)•将语句发给服务器:(2)•解释语句:(1)•插入记录:(1 x 记录条数)•插入索引:(1 x 索引数目)•关闭数据库连接:(1)(待续……)翻译 2010-08-05 14:14:00 · 869 阅读 · 0 评论 -
mysql explain的使用说明
-- Table "class" DDL<br /><br />CREATE TABLE `class` (<br />`id` int(11) NOT NULL auto_increment,<br />`name` varchar(50) default NULL,<br />PRIMARY KEY (`id`),<br />KEY `i_id` (`id`)<br />) ENGINE=InnoDB DEFAULT CHARSET=utf8;<br /><br /><br />-- Table "st转载 2010-12-05 16:51:00 · 616 阅读 · 0 评论 -
MySQL主从服务器的一些技巧
<br />问题:主从服务器表类型的选择<br /><br />一般的共识是主服务器使用innodb,事务,行锁等功能是myisam所没有的,对修改操作而言,它更高效;从服务器使用myisam,全文检索功能是innodb所没有的,对查询操作而言,它更高效。这样就可以各尽其能。<br /><br />问题:主从服务器字段类型的选择<br /><br />字段类型对于分页等操作有很大影响。主服务器一般是innodb,因为不涉及查询,所以可以使用varchar等来存储字符串来节省空间,从服务器一般是myisam,原创 2011-05-25 21:52:00 · 805 阅读 · 0 评论 -
数据库范式
简介<br /> 关系数据库中的关系必须满足一定的要求,即满足不同的范式。 <br /> 目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、第四范式(4NF)、第五范式(5NF)和第六范式(6NF)。满足最低要求的范式是第一范式(1NF)。在第一范式的基础上进一步满足更多要求的称为第二范式(2NF),其余范式以次类推。一般说来,数据库只需满足第三范式(3NF)就行了。 第一范式(1NF)无重复的列<br /> 所谓第一范式(1NF)是指数据库表的每一列都是不可分割的原创 2011-05-27 22:04:00 · 657 阅读 · 0 评论 -
完全优化MySQL数据库性能的八大巧方法
1、选取最适用的字段属性 MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快。因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度设得尽可能小。例如,在定义邮政编码这个字段时,如果将其设置为CHAR(255),显然给数据库增加了不必要的空间,甚至使用VARCHAR这种类型也是多余的,因为CHAR(6)就可原创 2011-06-17 14:56:00 · 915 阅读 · 0 评论 -
CURD
CURD是一个数据库技术中的缩写词,一般的项目开发的各种参数的基本功能都是CURD。 它代表创建(Create)、更新(Update)、读取(Read)和删除(Delete)操作。 CURD 定义了用于处理数据的基本原子操作。. 之所以将CURD 提升到一个技术难题的高度是因为完成一个涉及在多个数据库系统中进行CRUD操作的汇总相关的活动,其性能可能会随数转载 2011-12-09 16:00:30 · 1055 阅读 · 0 评论 -
mysql中pager的用法
Over the past few years I have found that "pager" inside of MySQL is a really useful tool. I have come up with a few simple, but extremely effective, ways to use it.-- Example 1Lets say you have转载 2012-01-10 16:50:51 · 2492 阅读 · 0 评论 -
MySql外键设置详解
(1) 外键的使用:外键的作用,主要有两个: 一个是让数据库自己通过外键来保证数据的完整性和一致性 一个就是能够增加ER图的可读性 有些人认为外键的建立会给开发时操作数据库带来很大的麻烦.因为数据库有时候会由于没有通过外键的检测而使得开发人员删除,插入操作失败.他们觉得这样很麻烦 其实这正式外键在强制你保证数据的完整性和一致性.这是好事儿.转载 2012-02-21 15:32:11 · 1042 阅读 · 0 评论 -
ERROR: Error in Log_event::read_log_event()
今天使用mysqlbinlog想恢复数据,但是遇到了这个错误:ERROR: Error in Log_event::read_log_event(): 'Found invalid event in binary log', data_len: 77, event_type: 19Could not read entry at offset 306709:Error in log form原创 2012-03-14 11:56:13 · 14447 阅读 · 0 评论 -
Mysql不同主从格式(Replication Formats)的区别
MYSQLREPLICATIONREPLICATION FORMATS原创 2014-02-25 16:13:12 · 1405 阅读 · 0 评论